Tips

`fzf`でコマンド履歴とファイル検索を爆速化!

`fzf`は、強力なコマンドラインファジーファインダーです。ファイル、コマンド履歴、Gitブランチなど、様々なものをインタラクティブに素早く検索・選択できます。生産性を大幅に向上させるための必須ツールと言えるでしょう。

技術・言語・ツール: fzf

fzfは、強力なコマンドラインファジーファインダーです。ファイル、コマンド履歴、Gitブランチなど、様々なものをインタラクティブに素早く検索・選択できます。生産性を大幅に向上させるための必須ツールと言えるでしょう。

fzfでコマンド履歴とファイル検索を爆速化!

fzfは、ターミナル作業の効率を劇的に向上させるインタラクティブなファジーファインダーです。特に、過去のコマンド履歴を素早く検索して再利用したり、ファイルやディレクトリを瞬時に見つけて開いたりするのに威力を発揮します。

コマンド履歴の検索 (Ctrl-r)

デフォルトで設定されているCtrl-rキーバインドを使うと、過去に実行したコマンドの履歴をファジー検索でインタラクティブに絞り込むことができます。

# ターミナルで Ctrl-r を押すと、履歴検索モードに入ります。
# 例: 'git log' や 'docker build' などと入力して検索・選択。

ファイルの検索 (Ctrl-t)

Ctrl-tキーバインドは、カレントディレクトリ以下のファイルをfzfで検索し、選択したファイル名を現在のコマンドラインに挿入します。例えば、vimでファイルを開く際に非常に便利です。

# vim <space> を入力後、Ctrl-t を押すと、ファイル検索モードに入ります。
# 選択したファイル名が vim コマンドの後ろに挿入されます。

ディレクトリ移動 (cd) との連携

**とタブ補完の組み合わせで、ディレクトリのファジー検索と移動が可能です。

# zsh/bash で fzf のキーバインドが有効な場合
cd **<Tab>
# これで fzf が起動し、ディレクトリを検索・選択できます。

おすすめポイント・注意点

  • インストールと設定: fzfをインストール後、$(fzf --bash)$(fzf --zsh)を実行してキーバインドや補完機能を有効にすることをおすすめします。多くの場合、.bashrc.zshrcに追記することで自動的に読み込まれます。
  • 汎用性: fzfは非常にカスタマイズ性が高く、他のコマンドとパイプで繋ぐことで、プロセス、Gitコミット、SSHホストなど、様々なものを検索・選択するインタフェースとして利用できます。
  • 高速性: C++で書かれているため、大量のデータに対しても高速に動作します。
  • 学習コストが低い: 基本的なキーバインドは直感的で、すぐに使いこなせるようになります。