【2025年版】fzf活用テクニック集 - ファイル検索を劇的に効率化
fzf(ファジーファインダー)の使い方を初心者にもわかりやすく解説。ファイル検索、コマンド履歴、Git連携など、作業効率を上げる実践的なテクニックを紹介します。
fzf活用テクニック集 - ファイル検索を劇的に効率化
fzf(fuzzy finder)は、ターミナルでの検索を劇的に効率化するツールです。
「ファイル名をうろ覚えでも見つけられる」「コマンド履歴から一瞬で過去のコマンドを呼び出せる」など、一度使うと手放せなくなります。
この記事では、fzfの基本から実践的なテクニックまで、初心者にもわかりやすく解説します。
fzfとは?
「ファジー検索」とは
fzfの「fuzzy」は「曖昧な」という意味です。
通常の検索: 完全一致しないと見つからない
ファジー検索: 曖昧でも見つかる
fzfの特徴
| 特徴 | 説明 |
|---|---|
| 高速 | 数百万のアイテムを瞬時に処理 |
| 汎用的 | ファイル、履歴、プロセスなど何でも検索可能 |
| インタラクティブ | リアルタイムで結果が絞り込まれる |
| カスタマイズ可能 | 見た目や動作を自由に設定できる |
インストール方法
Omarchyの場合
Omarchyにはプリインストールされています。追加のインストールは不要です。
その他の環境
シェル統合のセットアップ
fzfの便利なキーバインドを有効にします:
これを.bashrcや.zshrcに追加しておきます。
基本的な使い方
最もシンプルな使い方
これだけで、現在のディレクトリ以下のすべてのファイルを検索できます。
操作方法
| キー | 動作 |
|---|---|
| 文字入力 | 検索パターンを入力 |
↑ / Ctrl+k | 上の候補に移動 |
↓ / Ctrl+j | 下の候補に移動 |
Enter | 選択して終了 |
Esc / Ctrl+c | キャンセル |
Tab | 複数選択(マルチセレクトモード時) |
検索結果を使う
fzfは選択した結果を標準出力に出力します。これを他のコマンドと組み合わせます:
検索パターンの書き方
fzfは様々な検索パターンをサポートしています。
基本的なパターン
| パターン | 意味 | 例 |
|---|---|---|
abc | ファジーマッチ | 「a」「b」「c」が順番に含まれる |
'exact | 完全一致 | 「exact」という文字列を含む |
^start | 前方一致 | 「start」で始まる |
.end$ | 後方一致 | 「end」で終わる |
!exclude | 除外 | 「exclude」を含まない |
複数の条件を組み合わせる
スペースで区切るとAND条件になります:
具体例
よく使うシェル連携
シェル統合をセットアップすると、便利なキーバインドが使えます。
Ctrl+R - コマンド履歴検索
過去に実行したコマンドを検索します。
使用例:
Ctrl+Rを押す- 思い出したいコマンドの一部を入力
- 見つけたら
Enterで実行
Ctrl+T - ファイル検索
現在の入力にファイルパスを挿入します。
Alt+C - ディレクトリ移動
ディレクトリを検索して移動します。
実践的なテクニック
1. プレビュー付きファイル検索
ファイルの中身をプレビューしながら検索できます。
より高度なプレビュー(シンタックスハイライト付き):
2. Gitと連携
変更されたファイルを検索
ブランチを検索して切り替え
コミットを検索
3. プロセスを検索してキル
4. 複数ファイルの選択
-mオプションで複数選択が可能になります:
選択はTabキーで行います:
5. 便利なエイリアス
.bashrcや.zshrcに追加しておくと便利です:
6. 環境変数の設定
よく使うオプションをデフォルトに設定できます:
fdとの連携
fdはfindコマンドの高速な代替です。fzfと組み合わせると非常に強力です。
fdのインストール
fdを使った検索
ripgrepとの連携
ripgrep(rg)は高速なgrepの代替です。ファイル内容を検索してからfzfで絞り込めます。
より使いやすい関数:
使い方:
Neovimでの活用
LazyVimにはfzf連携が組み込まれています(telescope.nvim)。
| キー | 動作 |
|---|---|
Space + f + f | ファイル検索 |
Space + f + g | ファイル内容検索(grep) |
Space + f + r | 最近開いたファイル |
Space + f + b | バッファ検索 |
カスタマイズ
見た目のカスタマイズ
レイアウトの設定
トラブルシューティング
キーバインドが効かない
シェル統合がセットアップされているか確認:
日本語が文字化けする
ターミナルの文字コードがUTF-8になっているか確認:
検索が遅い
fdをデフォルトコマンドに設定:
便利なスクリプト集
1. 選択したファイルをGitに追加
2. SSHホストを選択して接続
3. Dockerコンテナを選択して操作
4. npm scriptsを選択して実行
まとめ
fzfの主要な機能をまとめます:
| 用途 | コマンド/キー |
|---|---|
| ファイル検索 | fzf |
| コマンド履歴 | Ctrl+R |
| ファイル挿入 | Ctrl+T |
| ディレクトリ移動 | Alt+C |
| プレビュー付き | fzf --preview 'cat {}' |
| 複数選択 | fzf -m + Tab |
fzfを使いこなすと、ターミナルでの作業効率が劇的に向上します。
まずは基本的なCtrl+R(履歴検索)から使い始めて、徐々に他の機能を覚えていきましょう。