🐚

fzf-tabでインタラクティブなシェル補完を享受する

2024/12/24に公開

お気に入りのシェル補完ツールであるfigがAmazonの提供する開発環境に統合され、
特に根拠のない大資本に取り込まれたツールへのやんわりとした忌避感からアンインストール。
他の補完ツールやシェルを探したり、ターミナルアプリ自体を色々試してみるも、どれもピンと来ずどこか満たされない日々を送っていました。
そんな悶々とした気持ちを抱えながらGitHubのcompletionトピックを眺めていたとき、
fzf-tabに出会いました。

fzf-tabとは?

fzf-tabはzshの提供するデフォルトの補完機能とfzfの機能を組み合わせてインタラクティブなシェル補完を実現するzshプラグインです。

fzfとは?

言わずと知れたコマンドラインのfuzzy finderツール。
各種CLIのコマンドをちゃんと覚えると言う意思と引き換えに、高い利便性を手にすることのできるすごいやつ。

fzf-tabのインストール方法

基本的には公式のREAMEに従えばOKです。簡単にステップを解説しておきます。

fzfをインストールしておく

Macユーザーの方はbrew install fzfで。他のパッケージ管理ツールでのインストール方法は公式をご参照ください

② fzf-tabをダウンロード

zshのプラグインツールを使っている方はそのツールを使ってダウンロード&適用してください。
自分は特に使っていないのでgit cloneでダウンロード

cd ~/workspace
git clone https://github.com/Aloxaf/fzf-tab

③ ~/.zshrcにfzf-tabを利用する設定を追加

わたしと同じようにダウンロードした方は以下の設定で設定できます。

source ~/workspace/fzf-tab/fzf-tab.plugin.zsh

# zsh-autocompleteと組み合わせる場合、いい感じに補完をするために以下の設定を追加
my-fzf-tab() {
  functions[compadd]=$functions[-ftb-compadd]
  zle fzf-tab-complete
}
zle -N my-fzf-tab
bindkey "^I" my-fzf-tab

④ シェル上でtabキーを入力

以上でfzf-tabがシェル上で起動するようになります。

使用感

  • zsh-autocompleteと組み合わせて使っています。
    • 入力中はzsh-autocompleteによる補完、さらにtabを押下した際にfzfを使ったインタラクティブな補完といった動きになります

ポイント

  • fzf-tabは補完を提供しているのではなく、あくまで補完システムの結果表示を担っているので、他の補完ツールを利用している場合でも多くの場合共存可能です。
    そのためzsh-autocompleteなどの補完プラグインを利用している場合でも問題なく導入することができます。

Discussion