4

我在 Cygwin 上使用 Vim。我正在尝试使用沙漠配色方案。在 gVim 中它看起来像这样:

http://i.stack.imgur.com/FNaVa.png

但在我的 MinTTY 终端中,它看起来像这样:

http://i.stack.imgur.com/dYPkF.png

有办法解决吗?

我的 TERM 变量设置为 xterm-256color。此外,我已将 t_Co=256 添加到我的 .vimrc 文件中。但这无济于事。

PS我已经找到了一些解决方案。我可以使用 CApprox/guicolorscheme 插件修复它。但是,有没有办法不使用插件来修复它?

4

2 回答 2

3

尝试0xRRGGBB从沙漠配色方案定义中获取颜色的 RGB 值,vim并使用以下技术将它们插入 MinTTY。然后您可以重写配色方案(可能首先在一个新名称下进行复制之后)以使用您新定义的颜色(在 0-15 范围内)。您可以将echo命令放入您的命令.bashrc中,以便为每个打开的 MinTTY 终端设置它们。

来自http://code.google.com/p/mintty/wiki/Tips

改变颜色

可以在选项对话框中更改默认的前景色、背景色和光标颜色,或者在配置文件或命令行中指定 ForegroundColour、BackgroundColour 和 CursorColour 设置。

但是,也可以为此目的使用 xterm 控制序列在终端内更改它们,例如:

echo -ne '\e]10;#000000\a'  # Black foreground
echo -ne '\e]11;#C0C0C0\a'  # Light gray background
echo -ne '\e]12;#00FF00\a'  # Green cursor

在 mintty 中,RGB 颜色值也可以使用逗号分隔的十进制表示法指定,例如 255,0,0 而不是红色的#FF0000。但目前不支持 X11 颜色名称。

16 种 ANSI 颜色可以在配置文件中设置,也可以在命令行中使用 Blue 或 BoldMagenta 等设置进行设置。这些都记录在手册的配置部分。它们也可以使用 xterm 控制序列进行更改。在这里,它们具有默认值:

echo -ne '\e]4;0;#000000\a'   # black
echo -ne '\e]4;1;#BF0000\a'   # red
echo -ne '\e]4;2;#00BF00\a'   # green
echo -ne '\e]4;3;#BFBF00\a'   # yellow
echo -ne '\e]4;4;#0000BF\a'   # blue
echo -ne '\e]4;5;#BF00BF\a'   # magenta
echo -ne '\e]4;6;#00BFBF\a'   # cyan
echo -ne '\e]4;7;#BFBFBF\a'   # white (light grey really)
echo -ne '\e]4;8;#404040\a'   # bold black (i.e. dark grey)
echo -ne '\e]4;9;#FF4040\a'   # bold red
echo -ne '\e]4;10;#40FF40\a'  # bold green
echo -ne '\e]4;11;#FFFF40\a'  # bold yellow
echo -ne '\e]4;12;#6060FF\a'  # bold blue
echo -ne '\e]4;13;#FF40FF\a'  # bold magenta
echo -ne '\e]4;14;#40FFFF\a'  # bold cyan
echo -ne '\e]4;15;#FFFFFF\a'  # bold white
于 2014-06-15T12:53:52.050 回答
-2

如果您使用的是 cygwin,那么为什么要使用功能不足的薄荷糖呢?使用 xterm,你有 256 种颜色可供选择,每种 vim 颜色加上真正终端的所有优点。

于 2014-06-15T12:58:28.540 回答