2016/10/18 21:12:28

tmuxでtmuxinatorを使う時の256色問題

tmuxnon256
目次(クリックするとジャンプします)
  • 1:tmuxつかっているとvimなんかの色がおかしくなる
  • 2:tmuxを256色モードで強制的に動かす
  • 3:.tmux.conf設定あれこれ
  • 3.1:失敗 その1
  • 3.2:失敗 その2
  • 3.3:失敗 その3
  • 3.4:成功 tmux_optionsの使用
  • 4:まとめ

tmuxつかっているとvimなんかの色がおかしくなる

ターミナルマルチプレクサのtumxそしてそれを便利するためのtmuxinator。実にマストツールですナぁ。でも使用にあたって256色モードで動かすのにハマってしまいました。

あれれ、なんかvimやらPowerlineの色がオカシイぞ…。

tmux256色エラー

tmuxとtmuxinatorの連携で色問題を解決できたので参考になれば。

tmuxを256色モードで強制的に動かす

tmuxを強制的に256色で動かすにはオプション-2を付与。

tmux -2

これで色問題を解決できることがわかってはいました。

でも便利なtmuxinatorはどうも引数をとれない様子。

tmuxinatorは起動時にpane分割を行える、シェルコマンドを打てるといった機能を持っており、 とてもじゃないが捨てがたいので、色の不具合は.tmux.conf内の設定で直さなければならなくなりました。

.tmux.conf設定あれこれ

失敗 その1

まず設定したのは以下

set-option -g default-terminal screen-256color  

これではvimのカラースキームは正常になってくれなかった。やたらとどきつい色になり、どうも16色で動いているように見えます。

失敗 その2

次に試したのが以下。 http://sota1235.hatenablog.com/entry/2015/07/09/203000

set-option -g default-terminal screen-256color  
set -g terminal-overrides 'xterm:colors=256'

おそらくscreen-256colorとした設定を、xtermで上書きするといった設定なんでしょうか?でもこれでもダメ。

失敗 その3

そこで単にxtermとだけ指定したらどうなるかを試してみた。

set-option -g default-terminal 'xterm'

やっぱりダメ。

成功 tmux_optionsの使用

いろいろ調べているうちに、tmuxinatorの設定ファイルでtmux_optionsという項目を発見。

これは引数を指定できるみたい。

試しに

tmux_options: -2

tmuxinator設定ファイル

としてみたら

おおう!!

vimの色が正常に表示されるようになりますた。

tmux正常な256色表示

もちろん-2オプションだけでなく、tmuxinatorと連携する時に引数をとるにはtmux_optionsに設定すればいいってことですね。

まとめ

tmuxの色問題はみなさん結構ハマっているようで情報がいっぱいありますが、@MINOの環境だとconfでの設定で直すことができませんでした。

多分confでの設定だけで解決する場合もあるかもしれませんが、オプション-2で解決できるなら手っ取り早いような気がします。

でもなんでデフォルトで256色を使えるようになってくれはしないのだろうかしら?

なにか弊害でもあるのかな?