Fzf - Linux ターミナルからのクイックあいまいファイル検索
Fzf は、小型で非常に高速な汎用のクロスプラットフォーム コマンドライン ファジー ファインダーで、Linux および Windows オペレーティング システムでファイルをすばやく検索して開くのに役立ちます。依存関係がなく移植性があり、Vim/Neovim プラグイン、キー バインド、ファジー オートコンプリートをサポートする柔軟なレイアウトを備えています。
次の GIF は、その仕組みを示しています。
Fzf をインストールするには、fzf の Github リポジトリを任意のディレクトリに git clone し、Linux ディストリビューションに表示されているようにインストール スクリプトを実行する必要があります。
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
cd ~/.fzf/
./install
スクリプトを実行すると、ファジー オートコンプリート、キー バインドを有効にし、シェル構成ファイルを更新するように求められます。次のスクリーンショットに示すように、質問に対して y
(はい) と答えます。
Fedora 26 以降およびArch Linux では、次のようにパッケージ マネージャーを介してインストールできます。
sudo dnf install fzf #Fedora 26+
sudo pacman -S fzf #Arch Linux
fzf をインストールしたので、使用を開始できます。 fzf を実行すると、インタラクティブなファインダーが開きます。ファイルのリストを標準入力から読み取り、選択した項目を標準出力に書き込みます。
プロンプトに探しているファイルの名前を入力するだけです。見つかったら Enter をクリックすると、ファイルの相対パスが標準出力に出力されます。
fzf
あるいは、検索しているファイルの相対パスを名前付きファイルに保存し、cat コマンドや bcat などのユーティリティを使用してファイルの内容を表示することもできます。
fzf >file
cat file
OR
bat file
たとえば、find コマンドと組み合わせて使用することもできます。
find ./bin/ -type f | fzf >file
cat file
Bash および Zsh でファジー補完を使用する方法
ファイルとディレクトリのあいまい補完をトリガーするには、**
文字をトリガー シーケンスとして追加します。
cat **<Tab>
この機能は、コマンドラインで環境変数を操作するときに使用できます。
unset **<Tab>
unalias **<Tab>
export **<Tab>
同じことが、/etc/hosts および から読み取られる自動補完ホスト名の ssh および telnet コマンドにも当てはまります。 ~/.ssh/config。
ssh **<Tab>
kill コマンドでも動作しますが、示されているようにトリガー シーケンスはありません。
kill -9 <Tab>
fzf を Vim プラグインとして有効にする方法
fzf を vim プラグインとして有効にするには、Vim 設定ファイルに次の行を追加します。
set rtp+=~/.fzf
fzf は積極的に開発されており、次のコマンドを使用して最新バージョンに簡単にアップグレードできます。
cd ~/.fzf && git pull && ./install
使用オプションの完全なリストを確認するには、man fzf を実行するか、その Github リポジトリ (https://github.com/junegunn/fzf) をチェックしてください。
こちらもお読みください: Silver Searcher – プログラマー向けのコード検索ツール
Fzf は、Linux でファイルを迅速に検索するための非常に高速な汎用ファジー ファインダーです。これには多くの使用例があり、たとえば、シェルのカスタム使用法を構成できます。ご質問やご意見がございましたら、以下のフィードバック フォームからお問い合わせください。