ZSHのviモードでリバース履歴検索を実行するには?

ZSHのviモードでリバース履歴検索を実行するには?

デフォルトでは、すべての編集要件に使用さvimれるため、シェルのviモード(現在のOS Xではoh-my-zshを持つZSH)を再試行することにしましたが、常に試して失敗しましたCtrl-R。同等のキーバインディングとは何ですか?後で参照できるように、この問題を直接解決するにはどうすればよいですか?私はbind -Pこれをbashで使用できると確信しています。

ベストアンサー1

bindkey引数なしで実行して既存のバインディングリストを取得できます。たとえば、次のようになります。

# Enter vi mode
chopper:~> bindkey -v

# Search for history key bindings
chopper:~> bindkey | fgrep history
"^[OA" up-line-or-history
"^[OB" down-line-or-history
"^[[A" up-line-or-history
"^[[B" down-line-or-history

Emacsモードでは目的のバインディングはありますが、history-incremental-search-backwardviモードではデフォルトではバインドされません。 Ctrl-Rを直接バインドするには、このコマンドを実行するか、次のコマンドに追加できます~/.zshrc

bindkey "^R" history-incremental-search-backward

マンページzshzleman zshzle)には、zsh行エディタ、バインディングキー、およびemacs / viモードに関する詳細情報が含まれています。

おすすめ記事