在 zsh 或 bash 中有没有办法拥有状态行?例如在 VI 中,它会让您知道您处于插入模式 -- 插入 --
是否有等效的命令行?
最佳答案
这已在 Super User 得到解答和 Unix Stack Exchange .为了 Stack Overflow 的完整性:
function zle-line-init zle-keymap-select {
RPS1="${${KEYMAP/vicmd/-- NORMAL --}/(main|viins)/-- INSERT --}"
RPS2=$RPS1
zle reset-prompt
}
zle -N zle-line-init
zle -N zle-keymap-select
如果您希望指标位于当前行下方而不是右侧,来自 Unix Stack Exchange :
terminfo_down_sc=$terminfo[cud1]$terminfo[cuu1]$terminfo[sc]$terminfo[cud1]
function zle-line-init zle-keymap-select {
PS1_2="${${KEYMAP/vicmd/-- NORMAL --}/(main|viins)/-- INSERT --}"
PS1="%{$terminfo_down_sc$PS1_2$terminfo[rc]%}%~ %# "
zle reset-prompt
}
preexec () { print -rn -- $terminfo[el]; }
关于bash - zsh vi 模式状态行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3622943/