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%'
batcatの代替で、シンタックスハイライトに対応しています。

テーマの変更

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はシンプルながら強力なツールで、シェル操作の効率を大幅に向上させます。本記事で紹介した基本的な使い方から応用までを習得すれば、日常のコマンドライン作業がより快適になるでしょう。ぜひ自分好みにカスタマイズして活用してください。