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]

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

fzf(fuzzy finder)で快適環境
[AWS]Aurora PostgreSQLのチューニングでBedrockの性能を最大化
Amazon BedrockのバックエンドとしてAurora PostgreSQLを使用する際、ベクトル検索やRAGの性能を最大化するパラメータチューニング手法を解説。work_memやHNSWインデックス、並列処理の最適化により、低レイテンシかつ低コストなシステムを実現します。

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 の快適さに慣れることから始めてみてください。

Q よくある質問 (FAQ)
Q. fzfのショートカット(Ctrl + rなど)が機能しない場合の対処法は?
A.
~/.zshrc などのシェル設定ファイルに「source <(fzf --zsh)」などの初期化設定が記述されているか確認し、設定を再読み込み(source ~/.zshrc)してください。
Q. fzfのプレビュー機能でファイルの中身をきれいに表示するには?
A.
FZF_DEFAULT_OPTSに「--preview」オプションを指定します。その際、プレビュー用コマンドとして「bat」をインストールして指定すると、コードがシンタックスハイライトされて見やすくなります。

コメント

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