ターミナル検索を爆速化!fzf × ripgrepでファイル・履歴を自在に探す
ターミナルでのファイル探しに、数秒かかっていませんか? 膨大なコードの中から、あの記述を瞬時に見つけたい。過去に実行したコマンドを、あいまいな記憶で探すのはもう終わりです。
この記事では、ターミナルでの検索効率を劇的に向上させる2つのツール、「fzf」と「ripgrep」の組み合わせ方を解説します。この組み合わせにより、ファイルパス、ファイル内容、コマンド履歴を驚くほどの速さで探し出せるようになります。
「あれ、どこだっけ?」ターミナル検索のもどかしさ
普段、ターミナルでファイルやコードを探すとき、grepやfindコマンドを使っている方も多いでしょう。これらは強力なツールです。しかし、プロジェクトの規模が大きくなると、いくつかの課題に直面します。
- 検索速度の遅さ: 特に多数のファイルがある場合、結果が出るまでに数秒かかることがあります。
- インタラクティブ性の欠如: 検索結果が一度に表示され、そこからさらに絞り込むには、別のコマンドを実行するか、スクロールして目視で探す手間が発生します。
.gitignoreの考慮不足: バージョン管理されていない一時ファイルやビルド成果物まで検索対象になり、ノイズが多い結果になりがちです。
副業でSaaS開発に取り組む30代のエンジニア、Bさんは、この「もどかしさ」に強く悩んでいました。彼は、新しい機能開発やバグ修正のたびに、関連するコードを探すのに平均で3分ほど費やしていました。この検索時間が作業の中断を招き、集中力を削いでいたのです。
Bさんは、海外のIndieHackerコミュニティで「fzfとripgrepの組み合わせが高速だ」という情報を目にしました。インタラクティブな検索で、必要なファイルにすぐにアクセスできる点に魅力を感じ、導入を決意しました。結果、彼の検索時間は従来の約5分の1に短縮。作業の中断が減り、開発に集中できる時間が増えたと語っています。
この体験から読者が学べること: ターミナルでの非効率な検索は、作業全体の停滞を招きます。適切なツールの導入で、この課題は劇的に解決できます。
今日から実行できるアクションプラン:
- 現在のターミナル検索にかかる時間を計測してみる。
- この後紹介するfzfとripgrepをインストールする。
- 自分のプロジェクト内で実際に検索を試す。
fzfとripgrep、それぞれの強み
fzfとripgrepは、それぞれ異なる得意分野を持ちます。組み合わせることで、単体では得られない強力な検索体験が生まれます。
fzf: インタラクティブなファジー検索
fzfは、ユニバーサルな「ファジーファインダー」です。パイプで受け取ったリストから、あいまいな入力で候補を絞り込み、インタラクティブに選択できます。
- あいまい検索: 正確なファイル名を覚えていなくても、一部のキーワードで候補を表示します。
- 高速な絞り込み: 入力するたびにリアルタイムで候補が絞り込まれます。
- プレビュー機能: 選択中のファイルのパス
まとめ・次のステップ
この記事が役に立ったら、ブログのメールマガジンへ登録してください。 AI活用・個人開発・副業に関する最新情報を週1回お届けします。
このブログでは、会社員をしながら副業でSaaSを開発する過程をリアルに発信しています。使用スタック: Next.js / Supabase / Claude API / Vercel