💭

fzfをtmuxのpopupで表示して見やすくなった

2022/03/19に公開

どうなった

ファイル選択 fzf-tmux-popup

ペインの大きさに関係なく、ペインをまたがって中央にポップアップとして開けるようになったため、表示する範囲が広くなりました。
また、表示場所が固定されるため、視線の移動もしやすくなりました。

tmuxのバージョンは3.2以上です。

$ tmux -V
  tmux 3.2a

tmux popup

tmuxでポップアップを開くにはtmux display-popupを使います。
また、エイリアスであるtmux popupでも開けます。
オプションの詳細はman tmuxでsearch keyword(/を入力)としてdisplay-popupを入れて確認してください。

以下はtmux popup -Eを実行した例です。
2つのペインに跨るようにポップアップが表示されています。
tmux popup

ただし、この記事では直接tmux popupは使わず、fzf-tmuxを使います。

fzf-tmux

fzfには、fzfをtmuxのペインで表示させるfzf-tmuxがあります。
tmuxのペインではなくポップアップとして表示させたい場合は、-pオプションをつけます。
オプションの詳細はfzf-tmux --helpで確認してください。

fzfをtmuxのpopupで表示する例

fzfのキーバインドでの設定

fzfのファイルパス選択CTRL-T, 履歴選択CTRL-R, ディレクトリ選択ALT-Cでも、tmuxを使って表示させることができます。

以下はファイルパス選択をtmuxと連携せずに表示している例です。左右にペインがあるためfzfの表示範囲が狭くなっています。
ファイル選択 fzf-only

まず、tmuxのペインとして開くなら、環境変数FZF_TMUXを設定するだけです。

export FZF_TMUX=1

ただし、ペインとして開くと以下のように狭くなる場合があります。
ファイル選択 fzf-tmux

そこで、以下のようにfzf-tmuxのオプションを設定し、ポップアップとして開くようにします。ここでは、ウィンドウの80%の大きさのポップアップに設定しました。

export FZF_TMUX_OPTS="-p 80%"

ファイル選択 fzf-tmux-popup

参考:
https://github.com/junegunn/fzf/wiki/Configuring-shell-key-bindings

他の例

以下はrupa/zをfzf-tmuxを使ってをプレビューつきで表示している例です。
rupa/z fzf-tmux-popup

今まで fzf だったところを fzf-tmux -p 80% に変えるだけで見やすくなると思います。

その他

tmuxのプラグインとしてtmux-fzfなるものもあるようです。

Discussion