zshキーバインディングの機能がわからない場合はどうすれば削除できますか?

zshキーバインディングの機能がわからない場合はどうすれば削除できますか?

それが何であるか、何を引き起こすのかわからない場合は、キーバインディングを無効にするにはどうすればよいですか?

zshでキーモードをviモードに設定しましたbindkey -v

履歴検索を実行するには、キーを押してEsc「コマンドモード」に入り、/検索を開始します。ただし、早すぎると他の操作が行われますが、私は何も知らない!キーバインディングのようですが、Esc-/それが何であるかわかりません。どうやって探して消えますか?

ベストアンサー1

いくつかの検索の最後に、次のような答えが見つかりました。

escape sequenceキーの組み合わせが何を実行しているかを確認するには:この素晴らしい答え:

echo "CtrlVEsc/"

私には次のようになりますecho "^[/"CtrlV次のキーが解釈されず、エスケープシーケンスとして表示されるようにします。今、私たちは関連コンテンツを見つけようとしていることを知っています"^[/"


すべてのzshキーバインディングを一覧表示するには、bindkey引数なしで実行します。

$ bindkey
"^A"-"^C" self-insert
"^D" list-choices
"^E"-"^F" self-insert
"^G" list-expand
"^H" backward-delete-char
...
"^Y"-"^Z" self-insert
"^[" vi-cmd-mode
"^[," _history-complete-newer
"^[/" _history-complete-older   ### <--- Here it is.
"^[M" vi-up-line-or-history
"^[OA" vi-up-line-or-history
...
"^\\\\"-"~" self-insert
"^?" backward-delete-char
"\M-^@"-"\M-^?" self-insert

だから気にしないと判断して_history-complete-older削除しました。私はこれを私のものに追加しました.zshrc

# Unbind the escape-/ binding because it gets triggered when I try to do a history search with "/".
bindkey -r "^[/"

代わりに、別のキーに再バインドするには、次を使用できます。

bindkey -r "^[/"
bindkey "<some-other-key-combo>" _history-complete-older

おすすめ記事