Подтвердить что ты не робот

Строка состояния режима zsh vi

Есть ли способ в zsh или bash иметь строку состояния? например в VI это даст вам знать, что вы находитесь в режиме вставки с - INSERT -

Есть ли в командной строке eqivalent?

4b9b3361

Ответ 1

Об этом уже ответили Суперпользователь и Unix 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]; }