我正在使用vim和MacVim。我有一个256色的颜色,我喜欢我的MacVim,但如果我加载到正常的vim,它显然不起作用(我得到闪烁代替)。我希望能够在我所有的系统上使用相同的vim配置,所以:
有没有办法检查.vimrc中的调色板大小,并相应地设置两个colorschemes之一?如果不行,那么检查MacVim vs. vim也可以。
你有几个选择。
我想你最好的办法是在.vimrc中加载一个colorscheme,另一个在.gvimrc中加载(或者在你的情况下,根本就不要在.vimrc中加载colorscheme)。 .gvimrc colorscheme只有在您运行Mac版本的MacVim时才会加载。
如果您不想将配置分割成多个文件,您还可以使用.vimrc中的这样一个条件:
if has('gui_running') colorscheme mycrazycolors endif
最后,如果你真的想知道可用的颜色数量,你可以检查t_Co设置:
:echo &t_Co
在MacVim的GUI版本中,t_Co为空,因此您可能仍然希望使用has()技术的变体。事实上,默认的.vimrc做了类似的事情来确定何时启用语法高亮:
if &t_Co > 2 || has("gui_running") Syntax on endif
为了完整起见,我应该提到您还可以扩展您的colorscheme文件,以包括彩色终端的合理设置。然而,这是相当多的工作,并且可能更容易切换到支持更多颜色的终端应用程序。
有关更多信息,请参阅这些主题:
:help has() :help termcap :help termcap-colors