fzf
#CLI #fuzzyfinder #tmux #Vim #bash #zsh #fish
インストール
Homebrew: $ brew install fzf
aptやapk, scoopなどのパッケージマネージャーでもインストール可能
Releasesページにもバイナリが置かれています
shell integration
お使いのシェルに応じて以下を実行すると、fzfのキーバインディングなどが有効化されます
code:shell
# (1) zsh向け
$ source <(fzf --zsh)
# (2) bash向け
$ eval "$(fzf --bash)"
# (3) fish向け
$ fzf --fish | source
zshの場合、以下のような処理が割り当てられるようです (shell integrationではFZF_DEFAULT_COMMANDが効かないので注意)
CTRL-R - コマンド履歴の検索がfzfによって実行されます
FZF_CTRL_R_OPTSでfzfのコマンドライン引数をカスタマイズできるようです
CTRL-T - fzfによるファイルの曖昧検索が行われます
FZF_CTRL_T_OPTSでfzfのコマンドライン引数をカスタマイズできるようです
FZF_CTRL_T_COMMANDでfzfがファイルの一覧を生成する際に使うコマンドをカスタマイズできるようです
空文字列を設定すると、このキー割当を無効化できます
ALT-C - fzfによって曖昧検索を行い、選択されたディレクトリへcdできます
FZF_ALT_C_OPTSでfzfのコマンドライン引数をカスタマイズできるようです
FZF_ALT_C_COMMANDでfzfがファイルの一覧を生成する際に使うコマンドをカスタマイズできるようです
空文字列を設定すると、このキー割当を無効化できます
**<TAB> - fzfを使ってコマンドの引数に指定するファイルやディレクトリに対する入力補完ができます
code:shell
$ cat **<TAB>
interactive finderにおけるデフォルトのキー割当
CTRL-PまたはCTRL-Nでカーソルを上下に移動できる
ESCやCTRL-Gなどで終了できる
リンク
- Tweak, preview, import & share your fzf themes in an interactive environment.
おい、peco もいいけど fzf 使えよ - Qiita
zsh + fzf で「あの時作業していたあのブランチ」を快適に探す - mizdra's blog
関連ツール/シェルプラグイン
fzf-git.sh
forgit
fzf-tab
fzf-zsh-completions
zsh-fzf-history-search
zeno.zsh
pmy
Pet - Simple command-line snippet manager
enhancd
zoxide - A smarter cd command. Supports all major shells.
sysz - A fzf terminal UI for systemctl
gh-f - 🔎 the ultimate compact fzf gh extension