2010-03-10 39 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'

相關問題