.zshrc設定が与えられたら:
bindkey -v
bindkey "^R" history-incremental-pattern-search-backward
空のプロンプトに入力すると、foo<^R>bar
最も最近一致したコマンドが検索されますbar
。
^Rに既存のプロンプト入力を使用させるにはどうすればよいですか?つまり、一致させたいキーの順序ですfoobar
。
ベストアンサー1
^R
にバインドするとhistory-beginning-search-backward
近づきますが、パターン検索ではありません。
^R
行の現在の内容を初期検索パターンとして追加する関数にバインドできます。
history-incremental-pattern-search-backward-from-line () {
zle history-incremental-pattern-search-backward $BUFFER
}
zle -N history-incremental-pattern-search-backward-from-line
bindkey -M viins "^R" history-incremental-pattern-search-backward-from-line
bindkey -M vicmd "^R" history-incremental-pattern-search-backward-from-line
bindkey -M isearch "^R" history-incremental-pattern-search-backward
isearch
(マップにバインドする必要があります。そうしないと、現在の^R
検索を繰り返すことなく、これまでに見つかった行に基づいて繰り返し検索が実行されます。)