2010-03-10 75 views
87

可以设置 Vim的配色方案通过发行如何判断哪些COLORSCHEME一个Vim会话目前使用

:colorscheme SCHEME_NAME 

但是,奇怪的是,你不能发出

得到当前使用的方案
:colorscheme 

因为这导致“E471: Argument required”。我也看不到:set输出中列出的配色方案。

那么你如何去搞清楚当前使用的配色方案(除了手动切换主题,直到你认识到它)?

回答

125

有没有保证的方式(因为配色方案本质上是来源的vim命令的负载)。但是,按照惯例,应该有一个设置为配色方案名称的变量g:colors_name

因此,试试这个:

echo g:colors_name 

如果你得到E121,它要么质量低劣的配色方案或者是默认的。

这样做的一种光亮的方法是(对于最新版本的Vim):

function! ShowColourSchemeName() 
    try 
     echo g:colors_name 
    catch /^Vim:E121/ 
     echo "default 
    endtry 
endfunction 

然后做:

:call ShowColourSchemeName() 

如果说 “默认”,做:colorscheme default,看看颜色更改。如果他们这样做,则会使用格式错误的颜色方案,除非手动切换主题,否则除了识别它之外,您可以做的事情不多。

可变g:colors_name是记录here

:help colorscheme 
+3

梦幻般的,完整的答案。我希望我能两次投票。谢谢。 – gotgenes 2010-03-10 19:18:06

+0

''default''缺少后的结尾双引号? – 2017-02-24 19:49:15

31

最好的选择是在当前vim和实际色彩方案文本被示出为使用:colo:colorscheme。请参阅

:help colorscheme 

了解更多详情。

+1

它对我不起作用。它表示'default'。当我执行':colo default'时获得的配色方案是另一个。 – daVe 2016-10-07 10:52:57

0

的单行版本DRAL的回答:

let current_scheme = get(g:, 'colors_name', 'default') 

如果变量尚未设置的get()功能将回落到'default'

相关问题