为什么vim颜色方案在gvim和普通终端之间有所不同?

时间:2011-12-30 20:07:51

标签: vim color-scheme

为什么vim颜色方案在gvim和普通终端之间有所不同? 例如,这个showcase的许多方案都在普通终端中工作。 我将所有新方案保存到~/.vim/colors/并设置为:colorscheme cool

有什么方法可以解决这个问题吗?

4 个答案:

答案 0 :(得分:10)

终端窗口(例如xterm)通常限制为2 ** 8种颜色。另一方面,GUI术语可以具有与图形窗口桌面一样多的颜色。

许多vim颜色方案是为GUI或终端设计的;如果它们是为GUI设计的,那么默认情况下它们不太可能显示在终端中。

如果您需要将GUI方案转换为终端(256色),您可以使用CSApprox插件。

答案 1 :(得分:9)

目前的两个答案非常好。你的投票应该归Mike所有,因为没有完美的解决方法。

Vim colorschemes通常分别为GUI和CLI指定颜色。有些colorhemes没有为CLI和那些使用X11 colors的人定义任何内容。

这些X11颜色(标注为0-255)已经或多或少地标准化了很长一段时间,并且只适用于支持256色的终端仿真器。在其他功能较弱的终端仿真器中,会跳过较高的数字,并且您的颜色会混乱。

GUI Vim也可以使用这256种颜色加上您可能想要的任何颜色,只要它用十六进制表示法(#00d6e3)指定。

由于GUI colorschemes可以使用数千种颜色,而CLI colorschemes只能使用256种颜色,因此CLI使用的值只能是GUI使用的值的近似值。这就是为什么CLI Vim看起来不像GUI Vim,即使您使用的是现代终端仿真器。

如果你选择的色彩方案坚持使用X11系列以外的颜色,你将永远不会有CLI Vim和GUI Vim看起来一样。

同步GUI和CLI Vim颜色的唯一方法我看到的是使用X11颜色来愚蠢的GUI colorscheme。

答案 2 :(得分:1)

因为gvim直接选择X11颜色,而终端vim使用可用的终端调色板。

因此,如果您使用现代终端(gnome,kde甚至OS X),您可以更改可用颜色的调色板,VIM看起来会完全不同。另一方面,GVIM直接设置颜色而没有终端应用程序的中间转换层。

答案 3 :(得分:1)

Theres上有一个叫做CSExact的新孩子,它会使你终止颜色方向的确切颜色。颜色看起来比CSApprox好很多。

  

此插件允许在(某些)终端中使用GUI(GVim)配色方案。   这是通过使用终端魔术来修改终端的调色板来完成的   在启动时以及每次加载配色方案时。