junegunn/fzf: :cherry_blossom: A command-line fuzzy finder
fzfは汎用的なファジーファインダーになります。
ファジー(fuzz)には曖昧という意味があり、ファイルシステム上のファイルやディレクトリを緩く検索出来ます。
例えば、
画面右下のプロンプトにフルパス関係なく、検索したいディレクトリ名やファイル名を入力すると、該当しそうなファイルパス一覧を返します。
文字を一文字打つ毎に高速で検索結果を出力しますので、Linuxのコマンドの cd や ls を組み合わせてファイルを探すよりも速く、find コマンド等を使用するよりもなんとなくの入力で、目的のファイルを探すことが出来ます。
この fzf ですが、他のコマンドとパイプでつなぐことで、強力な機能を発揮することが出来、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コマンドを指定すると、
のようにプレビューにディレクトリ構造をツリー形式で出力することが出来ます。
※コマンドの詳しい説明はこの場では端折ります。