web-dev-qa-db-ja.com

TmuxとGnomeのさまざまなvimの色とスタイル

私はtmuxを使用していますが、最近、tmuxの内側と外側の同じvimカラーヘムの色が異なることがわかりました

左はgnome-terminaltmux、右はプレーンgnome-terminalgnome-terminalのデフォルトの色は次のとおりです。

![Left is <code>tmux</code> in <code>gnome-terminal</code>, right is plain <code>gnome-terminal</code>

編集:よく見ると、スタイルも変わります(太字などを見てください)。

両方の端末は256色のものです(gnome-terminalは自分自身をxterm-256colorとして示し、tmuxtmux-256colorとして示します。 ncurses-term パッケージを参照) 、vimもそれを認識します(:set t_Coは256を与えます)。私はそれらの色表現を

for i in `seq 0 255` ; do echo -e "$i: \e[48;5;${i}m                  \e[0m"; done

そして同じパレットを手に入れました:

Color paletes

tmuxはこれらの色をgnome-terminalに渡すだけでよいと思いますが、なぜvimが変わるのでしょうか。

これを修正できますか? gnome-terminalのものの方が優れていると思いますので、tmuxに使用してもらいたいと思います。

4
Lapshin Dmitry

何らかの理由で、これは単なるVimの問題でした。tmuxで起動するとdefaultcolorshemeが読み込まれましたが、プレーンターミナルから起動するとdesertcolorschemeが読み込まれましたが:colorsheme経由で要求された場合はdefaultと呼ばれていました。 :colorsheme defaultを強制すると問題が解決したので、~/.vimrccolorsheme行を追加しました。これで問題ありません。

Vimがそのようなことをしている理由はわかりませんが、希望のカラーシェムを強制することは問題なく機能します。

2
Lapshin Dmitry