Как отменить завершение в zsh prezto в режиме вставки vi?

В zsh с режимом сопоставления клавиш emacs Control + _ отменит завершение.

Пример:

echo $EDITOR[tab]

будет завершено как:

echo vim

Нажатие Control + _ восстановит редактор в:

echo $EDITOR

Я хочу сделать то же самое с режимом сопоставления клавиш vi. Есть ли способ сделать это? Есть ли уже сопоставление клавиш для этого? Control + _ не работает ни в режиме вставки, ни в обычном режиме.

u (отмена) удалит всю строку.


person matt    schedule 18.07.2020    source источник


Ответы (1)


Наконец-то я нашел, как это сделать.

bindkey -l will print a list of existing keymap names.
bindkey -M <keymap> will list all bindings for a given keymap.

Поэтому я сравнил привязки emacs и viins и добавил следующую строку:

bindkey -M viins "$key_info[Control]_" undo

к .zprezto/modules/editor/init.zsh. И это работает.

Я сделал запрос на добавление этого сопоставления в prezto: https://github.com/sorin-ionescu/prezto/pull/1860

person matt    schedule 19.07.2020