在zsh或bash中有没有一种方法可以拥有状态行?例如,在VI中,它会让您知道您正处于插入模式
--插入--
命令行是否有eqivalent?

最佳答案

这已经在Super UserUnix Stack Exchange得到了回答。对于堆栈溢出的完整性:

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/

10-12 22:29