ZSH 履歴の一致を循環する - 増分パターン検索 - 後方

ZSH 履歴の一致を循環する - 増分パターン検索 - 後方

history-incremental-pattern-search-backward最近、検索パターンが使えるので、履歴検索を使用するように切り替えました。私の設定方法は次の通りです。.zshrc

bindkey -M vicmd '/' history-incremental-pattern-search-backward

これはうまく機能しますが、検索メニューから次の一致に移動する方法がわかりません。

% cat foobarbaz.txt
bck-i-search: f*baz

これを行うためのキーバインドはありますか?

答え1

ようやく正しい呪文を見つけました。挿入モードでパターン検索をマップする必要があります。これが私が見逃していた部分です:

# Search backwards and forwards with a pattern
bindkey -M vicmd '/' history-incremental-pattern-search-backward
bindkey -M vicmd '?' history-incremental-pattern-search-forward

# set up for insert mode too
bindkey -M viins '^R' history-incremental-pattern-search-backward
bindkey -M viins '^F' history-incremental-pattern-search-forward

挿入モードで後方検索に使用しました^Bが、別のものにマップされています。それでは^R^F一致を循環します。

答え2

zsh 4.3.10 のマニュアル ページによるとzshzle、デフォルトではキーはバインドされていません。isearchマップにバインドを追加する必要があり、使用できるウィジェットはわずかです。たとえば、次のようにします。

bindkey -M isearch '^R' history-incremental-search-backward
bindkey -M isearch '^S' history-incremental-search-forward

関連情報