fuzzy finderのfzfのインストール

junegunn/fzf: :cherry_blossom: A command-line fuzzy finder



fzfは汎用的なファジーファインダーになります。

ファジー(fuzz)には曖昧という意味があり、ファイルシステム上のファイルやディレクトリを緩く検索出来ます。


例えば、



画面右下のプロンプトにフルパス関係なく、検索したいディレクトリ名やファイル名を入力すると、該当しそうなファイルパス一覧を返します。


文字を一文字打つ毎に高速で検索結果を出力しますので、Linuxのコマンドの cd や ls を組み合わせてファイルを探すよりも速く、find コマンド等を使用するよりもなんとなくの入力で、目的のファイルを探すことが出来ます。


この fzf ですが、他のコマンドとパイプでつなぐことで、強力な機能を発揮することが出来、Micro等のエディタのプラグイン開発で重宝します。

Linuxコマンドのパイプを実装しながら学ぶ

Microでファイル名検索をする




fzfをインストールします。

$ sudo apt update
$ sudo apt install fzf

でインストールできますが、fzfは更新頻度が高いので、最新版のインストールにも触れておきます。

$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
$ ~/.fzf/install

途中で

Do you want to enable fuzzy auto-completion? ([y]/n)
Do you want to enable key bindings? ([y]/n)
Do you want to update your shell configuration files? ([y]/n) 

の質問がありますので、すべて y を選択します。


手続きが終了しましたら、最後に

source .bashrc

でインストールは終了です。


$ fzf --version

でバージョンを確認しておきます。

0.57.0 (0476a65)

のような値が出力されれば、インストールは終了です。


fzfの起動方法は

$ fzf

になります。


fzf の終了方法はEscキーを押します。


余談

$ find ./ -type d -name ディレクトリ名 | fzf --preview "tree - C {}"

のように find の結果をパイプで fzf に渡し、オプションでtreeコマンドを指定すると、



のようにプレビューにディレクトリ構造をツリー形式で出力することが出来ます。

※コマンドの詳しい説明はこの場では端折ります。

マインクラフト用ビジュアルエディタを開発しています。
詳しくはinunosinsi/mcws_blockly - githubをご覧ください。