Как я настраиваю режим энергии zsh?

Хорошо, таким образом, я наконец внес большое изменение. В моем .zshenv я изменил своего РЕДАКТОРА:

export EDITOR=vim

Существует несколько вопросов, которые я имею, которые так незначительны, что я не хотел запускать отдельные вопросы для них. Здесь они:

  1. Как я заставляю zsh различать режим вставки и командный режим как в энергии? Предпочтительно это изменило бы курсор от подчеркивания до блока как в энергии, но отображающийся текст внизу будет работать также.

  2. Как я заставляю это действовать больше как энергия? Например, я быть бы это быть в командном режиме по умолчанию и не выйти из него после одной команды.

25
задан 12.06.2010, 19:42

2 ответа

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-виджет, чтобы сделать это, быть вдохновленными первой из двух ссылок для первой проблемы.

25
ответ дан 07.12.2019, 09:37
zle-line-init() { zle -K vicmd; }
zle -N zle-line-init

эти две строки удостоверяются, что это запускается в командном режиме

5
ответ дан 07.12.2019, 09:37

Теги

Похожие вопросы