为什么vim颜色方案在gvim和普通终端之间有所不同?
例如,这个showcase的许多方案都在普通终端中工作。
我将所有新方案保存到~/.vim/colors/
并设置为:colorscheme cool
有什么方法可以解决这个问题吗?
答案 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)配色方案。 这是通过使用终端魔术来修改终端的调色板来完成的 在启动时以及每次加载配色方案时。