fzf(ファジーファインダー)の使い方と設定ガイド
fzf(ファジーファインダー)の基本的な使い方から応用的な設定まで解説。インストール方法、キーバインド、カスタマイズ、履歴検索など実用的な情報を提供します。
fzfファジーファインダー使い方設定検索履歴2026/5/25
fzf(ファジーファインダー)とは?
fzfは、コマンドライン上で動作する高速なファジーファインダー(曖昧検索ツール)です。標準入力から受け取ったリストをインクリメンタルに絞り込み、選択した結果を標準出力に返します。シェルの履歴検索やファイル検索、プロセス管理など、様々な用途に利用できます。
fzfのインストール方法
macOS
Homebrewを使ってインストールします。brew install fzf
Linux(Ubuntu/Debian)
パッケージマネージャーからインストールします。sudo apt update && sudo apt install fzf
ソースからビルドする場合
GitHubからクローンしてビルドします。git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
基本的な使い方
標準入力からのフィルタリング
パイプで渡したテキストをfzfで絞り込みます。ls -la | fzf
選択した行がそのまま出力されます。
インタラクティブな検索
fzfを単体で起動すると、カレントディレクトリのファイルを検索できます。fzf
選択結果の利用
fzfの出力を変数に代入したり、コマンドの引数として利用します。file=$(fzf)
<h1>または</h1>
vim $(fzf)
シェルとの統合
fzfをインストールすると、以下の便利なキーバインドが自動的に設定されます(installスクリプトを実行した場合)。
Ctrl+T:ファイル・ディレクトリの検索
現在のカーソル位置に選択したファイルパスを挿入します。Ctrl+R:コマンド履歴の検索
シェルのコマンド履歴をfzfで絞り込み、選択したコマンドを実行します。Alt+C:ディレクトリの移動
サブディレクトリを検索し、選択したディレクトリにcdします。
高度な使い方
プレビュー機能
--previewオプションで選択中のファイルの内容を表示できます。
fzf --preview 'cat {}'
{}は選択中のアイテムに置き換わります。
複数選択
-mオプションで複数アイテムを選択できます。TABキーで選択、Shift+TABで解除します。
fzf -m | xargs rm
カスタムキーバインド
--bindオプションでキー操作をカスタマイズします。
fzf --bind 'ctrl-d:delete-char'
検索モードの指定
-eで完全一致、-iで大文字小文字を区別しない、+iで区別するなど。
fzf -e --no-sort
設定ファイルのカスタマイズ
fzfの設定は環境変数FZF_DEFAULT_OPTSで行います。.bashrcや.zshrcに追加します。
デフォルトオプションの設定例
export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border'
プレビューウィンドウのカスタマイズ
export FZF_DEFAULT_OPTS='--preview "bat --style=numbers --color=always {}" --preview-window=right:60%'
batはcatの代替で、シンタックスハイライトに対応しています。
テーマの変更
export FZF_DEFAULT_OPTS='--color=fg:#d0d0d0,bg:#121212,hl:#5f87af --color=fg+:#d0d0d0,bg+:#262626,hl+:#5fd7ff --color=info:#afaf87,prompt:#d7005f,pointer:#af5fff --color=marker:#87ff00,spinner:#af5fff,header:#87afaf'
実用的な応用例
プロセス管理
ps aux | fzf --header-lines=1 | awk '{print $2}' | xargs kill -9
Gitブランチの切り替え
git branch -a | tr -d ' *' | fzf | xargs git checkout
Dockerコンテナの停止
docker ps | fzf --header-lines=1 | awk '{print $1}' | xargs docker stop
ファイル検索と編集
find . -type f | fzf | xargs vim
よくある質問
Q: インストール後にCtrl+Rが使えない
A:~/.fzf/shell/key-bindings.bash(または.zsh)をsourceしているか確認してください。installスクリプトを実行すると自動で設定されます。
Q: プレビューが遅い
A: プレビューコマンドを軽量なものに変更するか、--preview-window=hiddenでデフォルト非表示にし、?キーで表示するように設定できます。
Q: カスタムコマンドと組み合わせたい
A: 関数を定義してfzfに渡します。例:fzf-git-branch() {
git branch -a | tr -d ' *' | fzf --preview 'git log --oneline {}'
}
まとめ
fzfはシンプルながら強力なツールで、シェル操作の効率を大幅に向上させます。本記事で紹介した基本的な使い方から応用までを習得すれば、日常のコマンドライン作業がより快適になるでしょう。ぜひ自分好みにカスタマイズして活用してください。