Tmux 和 Gnome 中不同的 vim 颜色和样式

Tmux 和 Gnome 中不同的 vim 颜色和样式

我正在使用tmux,最近发现tmux内部和外部相同的vim颜色主题有不同的颜色

左边是tmuxin gnome-terminal,右边是 plain gnome-terminalgnome-terminal有默认颜色:

![左边是<code>gnome-terminal</code>中的<code>tmux</code>,右边是普通的<code>gnome-terminal</code>

编辑:仔细观察,样式也确实发生了变化(看看粗体等)。

两个终端都是 256 色的(gnome-terminal将自己表示为xterm-256color, tmuxas 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使用它们。

答案1

由于某种原因,这只是一个 Vim 问题:当在 中启动时tmux,它加载了defaultcolorcheme,但是当从普通终端启动时,它加载了desertcolorcheme 但default在通过 询问时仍然调用它:colorsheme。强制:colorsheme default解决了一个问题,所以我colorsheme在我的行中添加了行~/.vimrc,现在就可以了。

我不知道 Vim 为什么要这么做,但强制使用所需的颜色主题效果很好。

相关内容