2010-08-21 78 views
2

對於文件類型的插件,我想定義和使用默認的自定義突出顯示名稱,例如:有沒有辦法確定在Vim中是否已經定義了高亮區?

hi CsvColumn guifg=black guibg=NavajoWhite ctermfg=black ctermbg=yellow 

不過,我想允許用戶在喜好來定義自己爲默認,所以做類似的事情:

if <somehow or other check if 'CsvColumn' has NOT been defined> 
    hi CsvColumn guifg=black guibg=NavajoWhite ctermfg=black ctermbg=yellow 
fi 

有沒有辦法做到這一點?

由於這是在一個文件類型插件中,每次緩衝區被加載或讀取時它都會被執行一次,所以大概很有可能在用戶的'.vimrc'源代碼之後獲取它,所以任何定義如果我不執行檢查,那麼用戶在那裏或顏色方案中將被覆蓋。

回答

3

還有就是要做到這一點,叫hlexists({name})功能:

結果是一個數字,這是非零值,如果稱爲高亮組{name}的存在。這是組織以某種方式定義的時候。不一定在爲其定義突出顯示時,它也可能用於語法項目。

所以,你的代碼是:

if hlexists('CsvColumn') 
    hi ... 
fi 
+0

這就行了!謝謝! – Jeet 2010-08-22 09:28:48

相關問題