tmuxつかっているとvimなんかの色がおかしくなる
ターミナルマルチプレクサのtumxそしてそれを便利するためのtmuxinator。実にマストツールですナぁ。でも使用にあたって256色モードで動かすのにハマってしまいました。
あれれ、なんかvimやらPowerlineの色がオカシイぞ…。
![tmux256色エラー](https://unskilled.site/wp-content/uploads/2016/03/tmuxnon256-1024x576.png)
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
としてみたら
おおう!!
vimの色が正常に表示されるようになりますた。
もちろん-2オプションだけでなく、tmuxinatorと連携する時に引数をとるにはtmux_optionsに設定すればいいってことですね。
まとめ
tmuxの色問題はみなさん結構ハマっているようで情報がいっぱいありますが、@MINOの環境だとconfでの設定で直すことができませんでした。
多分confでの設定だけで解決する場合もあるかもしれませんが、オプション-2で解決できるなら手っ取り早いような気がします。
でもなんでデフォルトで256色を使えるようになってくれはしないのだろうかしら?
なにか弊害でもあるのかな?