fzf(fuzzy finder)で快適環境

コマンド

fzf(fuzzy finder)は、一言で言えば「コマンドライン用の高性能な検索フィルター」です。膨大なリストの中から、あいまい検索(部分一致や並び替え)で目的のものを爆速で見つけ出すことができます。

zshを使っている開発者にとって、fzf はターミナル作業の快適さを一段階引き上げる「魔法の杖」のようなツールです。主要な機能と設定方法を整理して解説します。

1. 基本的な考え方: コマンド | fzf

fzf 単体ではあまり使いません。基本は他のコマンドの出力をパイプで受け取り、結果を選択して返します。

# カレントディレクトリのファイルを選んで表示する
find . -type f | fzf

これだけだと、選んだファイル名が標準出力に出るだけですが、これを他のコマンドに渡すことで真価を発揮します。

2. zshで絶対に使うべき「3つのショートカット」

zshの設定ファイル(.zshrc)に fzf の初期化設定が書かれていれば、以下の強力なショートカットが即座に使えます。

キー機能説明
Ctrl + r履歴検索コマンド履歴をあいまい検索。デフォルトの検索より100倍使いやすいです。
Ctrl + tファイル検索ファイル名を探して、現在のカーソル位置にそのパスを入力します。
Alt + cディレクトリ移動フォルダを探して、選択した瞬間に cd します。

[!TIP]

もしこれらが動かない場合は、~/.zshrcsource <(fzf --zsh) (またはインストールパスに応じた設定)が記述されているか確認してください。

3. おすすめのカスタマイズ設定

.zshrc に設定を追加することで、見た目や機能をさらに強化できます。

見た目をリッチにする

デフォルトでは全画面ですが、下半分に表示させると作業しやすくなります。

# 下40%に表示、ボーダーを付ける、並び順を逆転させる
export FZF_DEFAULT_OPTS='--height 40% --reverse --border'

プレビュー機能を使う

ファイルを探している時に、右側に中身を表示させることができます(bat コマンドを入れていると綺麗に見えます)。

# Ctrl + t でファイルを探すときに中身をプレビュー
export FZF_CTRL_T_OPTS="--preview 'bat --color=always --line-range :50 {}'"

4. 開発現場で役立つ活用例

エンジニアとしての日常業務で役立つ具体的なコマンド例です。

Dockerコンテナを一括停止・選択

# 起動中のコンテナを選んで停止する
docker stop $(docker ps | fzf -m | awk '{print $1}')

-m オプションを付けると、Tabキーで複数選択が可能になります。

Gitブランチの切り替え

# ブランチを選んでチェックアウト
git checkout $(git branch | fzf)

fd や ripgrep との組み合わせ

標準の find は遅いので、高速な fd (ファイル検索) や rg (中身検索) と組み合わせるのが鉄板です。

# fd を使って爆速で検索
export FZF_DEFAULT_COMMAND='fd --type f'

5. 設定が反映されているか確認

まだ導入したばかりであれば、以下のコマンドで一発設定するのが一番確実です。

# fzfのインストールディレクトリにあるスクリプトを実行
$(brew --prefix)/opt/fzf/install
# または
/usr/share/doc/fzf/examples/key-bindings.zsh  # 環境によりパスは異なります

fzf は「自分でスクリプトを組んで、自分専用の検索ツールを作る」のが醍醐味です。まずは Ctrl + r の快適さに慣れることから始めてみてください。

コメント

タイトルとURLをコピーしました