Хорошо, таким образом, я наконец внес большое изменение. В моем .zshenv я изменил своего РЕДАКТОРА:
export EDITOR=vim
Существует несколько вопросов, которые я имею, которые так незначительны, что я не хотел запускать отдельные вопросы для них. Здесь они:
Как я заставляю zsh различать режим вставки и командный режим как в энергии? Предпочтительно это изменило бы курсор от подчеркивания до блока как в энергии, но отображающийся текст внизу будет работать также.
Как я заставляю это действовать больше как энергия? Например, я быть бы это быть в командном режиме по умолчанию и не выйти из него после одной команды.
1.) (см. http://zshwiki.org/home/examples/zlewidgets и http://pthree.org/2009/03/28/add-vim-editing-mode-to-your-zsh-prompt/):
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
Где:
"RPS" обозначает 'правильную строку приглашения' и определяет быстрое появление на правой стороне терминала, и $ {переменная/шаблон/замена}, синтаксис является синтаксисом 'расширения параметра', см.: http://mywiki.wooledge.org/BashSheet#Parameter_Operations.
'zle-N' заставляет определяемые пользователем виджеты 'zle-line-init' и 'zle-keymap-select' быть связанными (для окружения функций тех же имен), так, чтобы их назвали, когда строчный редактор будет инициализирован, и контурная карта изменяется соответственно, см.: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#SEC125.
2.) я подозреваю, что необходимо записать другой zsh-виджет, чтобы сделать это, быть вдохновленными первой из двух ссылок для первой проблемы.
zle-line-init() { zle -K vicmd; }
zle -N zle-line-init
эти две строки удостоверяются, что это запускается в командном режиме