やりたいこと
- コマンド履歴をいい感じに絞り込み検索したい
※以下zshを使っていることを前提としています
準備
インストール
- Homebrewで
peco
をインストール
% brew install peco
-
.zshrc
に以下を追記
~/.zshrc
function peco-select-history() {
# historyを番号なし、逆順、最初から表示。
# 順番を保持して重複を削除。
# カーソルの左側の文字列をクエリにしてpecoを起動
# \nを改行に変換
BUFFER="$(\history -nr 1 | awk '!a[$0]++' | peco --query "$LBUFFER" | sed 's/\\n/\n/')"
CURSOR=$#BUFFER # カーソルを文末に移動
zle -R -c # refresh
}
zle -N peco-select-history
bindkey '^@' peco-select-history
- 設定を更新
% source ~/.zshrc
使い方
- ターミナルで
Ctrl-@
参考