絞り込み検索したい(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自体はコマンドの実行後に終了します。