Gil*_*il' 20
超级用户和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
Run Code Online (Sandbox Code Playgroud)
如果你想要指向当前行以下的指标而不是右边的指标,来自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]; }
Run Code Online (Sandbox Code Playgroud)