Могу ли я перемещаться по меню закрытия zsh с помощью vi-подобных клавиш hjkl?

Я использую zsh на основе меню. Я нажимаю Tab один раз, и появляется список возможных завершений. Если я снова нажму Tab , я могу перемещаться по этому списку с помощью клавиш со стрелками. Однако можно ли их перемещать с помощью vi подобных клавиш H , J , K , L ?

Я использую режим emacs для ввода командной строки, с bindkey -e в ~/.zshrc . Я также использую zim с zsh. Если это необходимо, команды, указывающие систему завершения табуляции, приведены здесь .

Да, вы можете включить menu select :

 zstyle ':completion:*' menu select zmodload zsh/complist ... # use the vi navigation keys in menu completion bindkey -M menuselect 'h' vi-backward-char bindkey -M menuselect 'k' vi-up-line-or-history bindkey -M menuselect 'l' vi-forward-char bindkey -M menuselect 'j' vi-down-line-or-history 

Ближе всего я пришел к этому, используя CTRLN и CTRLP, чтобы двигаться вперед и назад по списку возможных завершений, вместо Tab и ShiftTab . Это больше похоже на vi навигацию.

В файле config .zsh я достигаю этого с помощью:

 bindkey '^n' expand-or-complete bindkey '^p' reverse-menu-complete 

И, соответственно,

 bindkey '^k' up-history bindkey '^j' down-history bindkey '^h' backward-delete-char bindkey '^w' backward-kill-word bindkey '^r' history-incremental-search-backward 

Вот документы для привязок .