0
Help us understand the problem. What are the problem?

More than 1 year has 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のパネル分割のショートカットを別キーに設定した後だったこともあって、それが影響していると思い込んでいたのですが全くの勘違いでした。至って想定どおりの挙動。思い込みって怖い。

参考文献

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
0
Help us understand the problem. What are the problem?