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