zshのzawからfzfに移行

私はzshのコマンド履歴の絞り込み検索をするためにzawを使っている。

https://github.com/zsh-users/zaw

zawの機能に対しては何も困っていないのだがGitHubの最新コミットが6年前という点が気になっている。更新が入らないものを使うのは不安を覚える。

そこでコマンドライン向けファジーファインダー fzf を導入することにした。

https://github.com/junegunn/fzf

fzfを導入する

執筆時点でGitHubで公開されている最新版は0.56.0である。

環境

1
sw_vers

環境

1
2
3
ProductName:		macOS
ProductVersion:		14.6.1
BuildVersion:		23G93

コマンド

1
brew info fzf | head -n 1

実行結果

1
==> fzf: stable 0.56.0 (bottled), HEAD

Homebrewでfzfをインストールする。

1
brew install fzf

インストールが完了したはずなので、fzfのバージョンが確認できるはず。念の為、次のコマンドを実行して応答結果を確認する。

1
2
which -a fzf
fzf --version

シェル統合の手順を済ます。詳細はREADMEのSetting up shell integrationにある。 zshの場合は次のコードを設定ファイルに記述する。

1
source <(fzf --zsh)

CTRL-T, CTRL-Rを押下すると、fzfの機能が実行される。

なお、~/.zprofileに設定を追加すると、CTRL-Rがbck-i-searchからfzfのCTRL-Rにならない。 ~/.zshrcに設定を追加して、CTRL-Rを押下すると、fzfのCTRL-Rになり、コマンド実行履歴を絞り込み検索できる。

CTRL-Tを押すとカレントディレクトリでファイルやディレクトリをキーワード検索する。