为什么当我使用它们时,绝大多数vim颜色scheme看起来不像屏幕截图?
我已经下载了许多vim色彩模式,并试用了它们,但其中很多不像官方的屏幕截图。
例如,Vim自己的颜色模式 – desert
应该是这样的:
但在我的vim中,许多颜色不会显示,例如背景。
但一些颜色模式正常工作。
这是为什么?
在:编辑 – >configuration文件首选项 – >颜色,我select“使用系统主题颜色”
许多颜色scheme都是为256色而devise的,比标准的8色terminal要好得多。 要做到这一点,你需要$TERM
设置为一个256色terminal,如xterm-256color
。
如果你有一个256色的terminal(如果你的屏幕截图是Gnometerminal的话,看起来就像你做的那样),把$TERM
设置为xterm-256color
并在你的vimrc中启用256种颜色,例如:
if $TERM == "xterm-256color" set t_Co=256 endif
Vim wiki有一些关于为不同的terminal模拟器设置正确的$TERM
提示 。 快速testing这个最简单的方法是做
TERM=xterm-256color vim
这不会使GUI vimdevise的颜色scheme与terminalVim完全兼容,但是会使256色颜色scheme起作用,而这对于标准的8色配色scheme是一个巨大的改进。
在* nix系统上,将$ TERM环境variables设置为描述terminalfunction( 包括所支持的颜色数量)的 terminfo条目的目的是将这些function广告给terminal内运行的应用程序。
换句话说,你设置这个variables的原因首先是告诉Vim(或者mutt .. slrn .. ELinks等等)..嘿..其他的东西..我支持256种颜色,你知道吗..?
因此,为了设置t_Co Vimvariables的值,在vimrc中添加bloat来testing$ TERM的值是毫无意义的。 Vim足够聪明,可以从$ TERMvariables指向的terminfo条目中获取支持的颜色数量。 这就是为什么你把它放在第一位!
在这方面,terminal/控制台Vim简单地遵循* nix模型,并从terminfo条目中确定terminal的能力,并自动设置t_Covariables的内容。
在GNU / linux环境中尝试并testing了15种不同的terminal仿真。
第一个截图是GVim,而不是terminalVim。 颜色支持terminal是非常有限的。 而GVim可以使用完整的RGB空间。
这里的其他答案是好的; 我也发现这个页面对调整和理解vim的原因和颜色环境是非常有用的。