在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