fzf
fzf は汎用のコマンドライン曖昧検索ツールです。
インストール
fzf パッケージをインストールしてください。開発版は fzf-gitAUR でインストールできます。
設定
シェル
様々なシェルで fzf のキーバインドや補完を使うことができます。
Ctrl+t
カレントディレクトリのファイルとフォルダを一覧する (例:git commit
に続けてCtrl+t
を押し、Tab
でファイルを選択し、最後にEnter
で決定)Ctrl+r
シェルコマンドの履歴を検索Alt+c
曖昧検索で選択したカレントディレクトリを変更
bash
.bashrc
から以下のファイルを source してください:
/usr/share/fzf/key-bindings.bash
/usr/share/fzf/completion.bash
zsh
.zshrc
から以下のファイルを source してください:
/usr/share/fzf/key-bindings.zsh
/usr/share/fzf/completion.zsh
fish
fish の場合、キーバインドは以下のファイルに定義されています:
/usr/share/fish/functions/fzf_key_bindings.fish
fish はデフォルトで source しますがバインドは手動で有効にする必要があります:
~/.config/fish/functions/fish_user_key_bindings.fish
function fish_user_key_bindings fzf_key_bindings end
fish の fzf 補完はカスタム関数で有効にできます: https://github.com/junegunn/fzf/wiki/Examples-(fish)
Vim
基本的な Vim プラグインはパッケージに含まれており、Vim のプラグインディレクトリにインストールされます。そのため、使用するのに .vimrc
に何か追加する必要はありません。ただし、プラグインは FZF コマンドしか提供しません。他の便利な関数を定義している Vim プラグインが fzf の作者によって作られています。https://github.com/junegunn/fzf.vim を見てください。
Arch で fzf を使用する
Pacman
利用可能なすべてのパッケージをあいまい検索し、パッケージ情報をプレビューウィンドウに表示してから、選択したパッケージをインストールします。
$ pacman -Slq | fzf --multi --preview 'pacman -Si {1}' | xargs -ro sudo pacman -S
インストールされているすべてのパッケージを一覧表示し、選択したパッケージを削除します。
$ pacman -Qq | fzf --multi --preview 'pacman -Qi {1}' | xargs -ro sudo pacman -Rns
プレビューにパッケージファイルのリストを追加したい場合 - プレビューウィンドウの更新が少し遅くなるかもしれません (pacman -Fy
を起動する前に少なくとも一度は root 権限で実行して pacman ファイルデータベースを同期させてください)。
$ pacman -Slq | fzf --multi --preview 'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk "{print \$2}")' | xargs -ro sudo pacman -S
paruzAUR パッケージは paruAUR と pacman のための fzf ターミナル UI も提供します。