私はtmux
を使用していますが、最近、tmuxの内側と外側の同じvimカラーヘムの色が異なることがわかりました
左はgnome-terminal
のtmux
、右はプレーンgnome-terminal
、gnome-terminal
のデフォルトの色は次のとおりです。
編集:よく見ると、スタイルも変わります(太字などを見てください)。
両方の端末は256色のものです(gnome-terminal
は自分自身をxterm-256color
として示し、tmux
はtmux-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
そして同じパレットを手に入れました:
tmux
はこれらの色をgnome-terminal
に渡すだけでよいと思いますが、なぜvim
が変わるのでしょうか。
これを修正できますか? gnome-terminal
のものの方が優れていると思いますので、tmux
に使用してもらいたいと思います。
何らかの理由で、これは単なるVimの問題でした。tmux
で起動するとdefault
colorshemeが読み込まれましたが、プレーンターミナルから起動するとdesert
colorschemeが読み込まれましたが:colorsheme
経由で要求された場合はdefault
と呼ばれていました。 :colorsheme default
を強制すると問題が解決したので、~/.vimrc
にcolorsheme
行を追加しました。これで問題ありません。
Vimがそのようなことをしている理由はわかりませんが、希望のカラーシェムを強制することは問題なく機能します。