ここを参考に,流行りの peco を使って zsh のヒストリからコマンドを検索する関数を作ったので,そのメモ. 次の内容を .zshrc に追加すれば,インクリメンタルなヒストリ補完ができる.
# シェル関数を定義する function run-command-with-peco() { # コマンドラインに peco で選択した文字列を代入する BUFFER="`history -n 1 | tac | peco --query "$BUFFER"`" # カーソルの位置をコマンドラインの末尾に移動 CURSOR=$#BUFFER # peco による出力をクリアする zle clear-screen } # シェル関数をウィジェットとして登録 zle -N run-command-with-peco # ウィジェットをバインド bindkey '^r' run-command-with-peco