あいまい検索したい(fzf)

$ fzf
$ コマンド | fzf
$ history | fzf
$ ps aux | fzf
$ git log --oneline | fzf

fzfは、あいまい検索(fuzzy find)できるコマンドです。 ほとんどすべての入力に対して「あいまい検索」で候補を絞り込むことができます。

コマンドの実行結果をパイプで渡すことで、あいまい検索の対象にできます。

インストールしたい(fzf)

$ brew install fzf
$ fzf --version
0.74.3 (Homebrew)

fzfはHomebrewでインストールできます。

プレビュー表示したい(--preview)

$ fzf --preview 'cat {}'
$ fzf --preview 'bat --color=always {}'

--previewで、選択中の候補をプレビュー表示できます。 {}は、選択中の候補(ファイル名)に置き換わるプレースホルダーです。

複数選択したい(-m / --multi)

$ fzf -m
$ fzf --multi

--multi(-m)で、複数の候補を選択できるようになります。 Tabで選択・選択解除、 Enterで選択済みの候補すべてを確定します。

シェル設定したい

1$ fzf --fish | source

fishでは、上記をコマンドラインで実行するかconfig.fishに追記することで、 Ctrl-R(コマンド履歴のあいまい検索)や Ctrl-T(ファイルパスの挿入)などのキーバインドが使えるようになります。

1# ~/.bashrc に追記
2eval "$(fzf --bash)"
3
4# ~/.zshrc に追記
5eval "$(fzf --zsh)"

bash/zshの場合は、それぞれの設定ファイルにevalを追記します。 Homebrewでインストールした場合は、$(brew --prefix)/opt/fzf/installを実行して シェル統合スクリプトを自動生成することもできます。