当我使用它们时,为什么大多数vim颜色方案看起来不如截图一样好?

Tan*_*Woo 45 vim terminal schema colors

我已经下载了许多vim颜色模式并尝试了它们,但其中许多看起来不像官方截图.

例如,vim自己的颜色模式 - desert应该如下所示: 沙漠色彩图式

但在我的vim中,很多颜色都不会显示,例如背景. 我的vim彩色显示屏

但是一些颜色模式正常工作.

这是为什么?

在:编辑 - >配置文件首选项 - >颜色,我选择"使用系统主题颜色"

Mic*_*ski 58

许多colorschemes设计为256色,明显优于标准的8色终端.要使其工作,您需要$TERM设置为256色终端xterm-256color.

如果你有一个256色的终端(看起来你的屏幕截图,如果这是Gnome终端),设置$TERMxterm-256color 和你的vimrc中的256色启用如下:

if $TERM == "xterm-256color"
  set t_Co=256
endif
Run Code Online (Sandbox Code Playgroud)

Vim的维基百科上有一些技巧上设置正确的$TERM对不同的终端仿真器.快速测试这个问题的最简单方法就是这样做

TERM=xterm-256color vim 
Run Code Online (Sandbox Code Playgroud)

这不会使为GUI vim设计的colorschemes与终端Vim完全兼容,但是会使256色colorchemes工作,这是对标准8色colorchemes的巨大改进.

  • 更彻底的答案:http://stackoverflow.com/a/15378816/357774.基本上,不要在.vimrc中乱用`t_Co`,只需将此行放在.bashrc中:`[[-n"$ DISPLAY"&&"$ TERM"="xterm"]] && export TERM = xterm- 256color` (12认同)
  • 这让我多年来一直生气!最后我找到了根本原因!我希望我早些时候搜索过这个话题. (2认同)

小智 19

在*nix系统中,根本目的 $ TERM环境变量设置为描述你的终端的能力,一个terminfo项中包括支持的颜色数为宣传这些功能将在您的终端中运行的应用程序.

换句话说,你首先设置这个变量的原因是告诉Vim(或mutt .. slrn .. ELinks ..等等)..嘿..除其他外......我支持256种颜色,你知道吗? ..?

其结果是,有没有任何点在加入膨胀到您的vimrc测试,以设置t_Co的Vim变量的值$ TERM的值.Vim非常聪明,可以从$ TERM变量指向的terminfo条目中获取支持的颜色数.这就是为什么你把它设置在第一位......!

在这方面,终端/控制台Vim简单地遵循*nix模型并从terminfo条目确定终端的能力并自动设置t_Co变量的内容.

在GNU/linux环境中对15种不同的终端仿真进行了测试和测试.


Cat*_*lus 16

第一个截图是GVim,而不是终端Vim.在颜色支持方面,终端非常有限.GVim可以使用全RGB空间.


Dav*_*ope 6

这里的其他答案都很好; 我还发现这个页面对于调整和理解vim的颜色环境的原因和方式非常有用.