在Vim中,是否可以在colorscheme更改時一起更改給定語言的語法着色規則?Vim:在更改顏色方案時更改語法着色規則
下面是一個例子:
我安裝在Vim中着色matlab代碼一些插件。它提供了幾個.vim
文件:
.vim/colors/matlabdark.vim
.vim/colors/matlablight.vim
.vim/ftplugin/matlab.vim
.vim/indent/matlab.vim
.vim/syntax/matlabcolours.vim
.vim/syntax/matlab.vim
它提供的colorschemes非常好。但是,我有時想使用不同的顏色格式,而當我應用其他顏色格式(例如日曬)時,逗號和分號的背景顏色太濃。我檢查了.vim/syntax/matlab.vim
,我看到逗號和分號分配給組SpecialKey
。
我嘗試過編輯的.vim/syntax/matlab.vim
一部分到:
syn match matlabComma "," display
syn match MatlabSemicolon ";" display
(...)
command -nargs=+ HiLink hi def link <args> " creates HiLink command
(...)
if g:colors_name == 'solarized' " added by me
HiLink matlabComma Normal " added by me
HiLink matlabSemicolonn Normal " added by me
else " added by me
HiLink matlabComma SpecialKey
HiLink matlabSemicolonn SpecialKey
endif " added by me
(...)
但是當我改變色彩方案,以solarized什麼也沒有發生。然後我試着把這個劇本寫入.vim/after/syntax/
,但也沒有運氣。
我想我需要以某種方式更改solarized
或任何其他顏色方案的代碼來實現我想要的,但我根本看不出如何。我對vim腳本知之甚少,無法理解在更改colorscheme時執行的文件/腳本。可能只有.vim/colors/<wanted_scheme>.vim
腳本。
如果需要,matlab可以找到here。
HiLink是做什麼用的? – FDinoff
我認爲它相當於'嗨鏈接',或'突出鏈接' – islijepcevic
我發現'HiLink'來自哪裏。問題中的代碼會相應更新。 – islijepcevic