LoginSignup
0

More than 3 years have passed since last update.

posted at

updated at

tmux環境でenhancd実行時にパネルが分割されるのを防ぐ

はじめに

最近新たにTerminal環境を作り直した際に表題の現象に遭遇しました。当初は何らかの設定ミスが悪さをしているものだと思っていたのですが、至ってenhancdの想定内の挙動というオチでした。簡単にまとめておこうと思います。

環境

  • macOS
  • tmux
  • fish shell
  • fisher
  • enhancd
  • fzf

問題

下の動画のように、tmux環境下でenhancdを実行するとfzfが実行されるものの、パネルが分割されています。

demo_tmux-enhancd.gif

原因

enhancdはデフォルトでは検索にfzfよりもfzf-tmuxコマンドが優先的に実行されるためです。fzf-tmuxは動画のようにfzfをtmuxの別パネルで実行するコマンドであり、macのhomebrewではfzfのインストールに同封されています。

enhancdではフィルタリングを行うコマンドに複数対応していますが、初期化スクリプト内に各コマンドの優先順位が記載されています。
https://github.com/b4b4r07/enhancd/blob/master/init.fish#L35

これによると確かにfzfよりもfzf-tmuxが先に記載されて優先度が高く指定されていることがわかります。

解決策

enhancdにはちゃんとフィルタリングコマンドを指定することが可能です。

次のように環境変数を指定する1行をfishの設定ファイルに追記することで、fzf-tmuxが実行されないようにしました。(デフォルトの検索コマンドリストからfzf-tmuxを消しただけ)

~/.config/fish/config.fish
# 下行を追加
set -gx ENHANCD_FILTER "fzy:fzf:peco:percol:gof:pick:icepick:sentaku:selecta"

終わりに

tmuxのパネル分割のショートカットを別キーに設定した後だったこともあって、それが影響していると思い込んでいたのですが全くの勘違いでした。至って想定どおりの挙動。思い込みって怖い。

参考文献

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0