user gravatar

Vim мод в ZSH

Vim мод в ZSH

Возможно это не всем известно, но ZSH поддерживает Vi-мод. И это означает, что вы сможете пользоваться излюбленными сочетаниями клавиш Vim прямо в терминале.

ZSH - это более мощная альтернатива Bash.

Включение режима Vim в ZSH

Включить упомянутый мод можно очень просто. Откройте файл конфигурации ZSH:

$ vim ~/.zshrc

Затем, скопируйте и вставьте следующие строки в этот файл:

# Включаем vim мод
bindkey -v

# Убрать задержку, чтобы быстрее переключаться в Vim мод
KEYTIMEOUT=1

# По-умолчанию ZSH не показывает в каком режиме вы находитесь (Normal, insert).
# Для показа подобного статуса нужно создать новый виджет, следуя инструкции с http://zshwiki.org/home/examples/zlewidgets
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

После того, как скопировали строки выше в файл, сохраните его и перезагрузите ZSH:

source ~/.zshrc

По-умолчанию ZSH будет в режиме Insert. Чтобы войти в нормальный режим, нужно нажать на кнопку Esc. В нормальном режиме доступны многие сочетания клавиш Vim (h,j,k,l - для навигации, cw - для изменения слова и т.д.)