zshのタブ補完メニューをナビゲートするためにviに似たhjklキーを使用できますか?

zshのタブ補完メニューをナビゲートするためにviに似たhjklキーを使用できますか?

私はzshのメニューベースのタブ補完機能を使います。一度押すと、Tab可能な完了リストが表示されます。もう一度押すと、Tab矢印キーを使用してこのリストに移動できます。しかし、、、viなどのキーを使用してナビゲートできますか?HJKL

私はコマンドライン入力にemacsモードを使用し、bindkey -ein~/.zshrcも使用します。ジムzshで。該当する場合、タブ補完システムを指定するコマンドは次のとおりです。ここ

答え1

はい、次の方法で有効にできます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

答え2

私が見た最も近い方法は、可能な完成リストから前後に移動するためにand-の代わりに-and-CTRLN使用することです。これCTRLPTabShiftTabはいナビゲーションに近いですvi

設定ファイルで次.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

次の文書です製本

関連情報