絞り込み検索したい(peco)
$ peco ファイル名
$ コマンド | peco
$ history | peco
$ ps aux | peco
$ git log --oneline | peco
pecoは、絞り込み検索(incremental search)できるコマンドです。
ほとんどすべての入力に対して「絞り込み検索」で候補を絞り込むことができます。
大量のデータに対しても高速で動作します。
インストールしたい(peco)
$ brew install peco
$ peco --version
peco version 0.6.0 (built with go1.26.0)
pecoはHomebrewでインストールできます。
検索条件を指定したい(--query / --initial-filter)
$ history | peco --query "git"
$ history | peco --initial-filter Fuzzy
--queryで、起動時点の検索文字列をあらかじめ指定できます。
--initial-filterで、絞り込みの方式を指定できます。
IgnoreCase(デフォルト、大文字小文字を区別しない)やFuzzy(あいまい検索)などが選べます。
複数選択したい(Ctrl-Space)
pecoにはfzfの--multiのようなオプションはなく、デフォルトで複数選択に対応しています。
Ctrl-Space: 選択・選択解除して次の候補へ移動
Enter: 選択済みの候補すべてを確定
コマンドを実行したい(--exec)
$ ps aux | peco --exec "kill {}"
--execで、選択した候補を渡して別のコマンドを実行できます。
候補は標準入力として渡され、peco自体はコマンドの実行後に終了します。