zshの履歴検索機能はとても便利な機能で、毎日使っているといっても過言ではありません。ただひとつ疑問な点があって、C-rを連打して履歴を戻しすぎた時「やっぱりあれだった」と一つ前に戻す方法がわかりませんでした。
bindky -Lでは、C-sで前方に検索できそうなのに、なぜか機能せず。
bindkey "^R" history-incremental-search-backward bindkey "^S" history-incremental-search-forward
いいかげんなんとかしないとと思い真面目に調べてみたところ、どうやらシェルのフロー制御機能が邪魔していてC-sが有効になっていなかった様子。ということでフロー制御をやめるため.zshrcになどに以下の設定を追加します。
setopt no_flow_control
もしくは以下のように書いても同じです。
stty -ixon
この書き方はzshだけではなくbashでも有効です。
この設定を有効にして、C-sを押すと「fwd-i-search」が表示され前方インクリメンタル検索が有効になっていることがわかると思います。
zshの履歴検索の使い勝手がイマイチだと思っている方は確認してみてはいかがでしょうか。