我正在尝试使用vim语法为我的c ++项目配置一些自定义突出显示。
我已经创建了一个名为cpp.vim
的文件并将其放入~/.vim/syntax/
。为了突出显示函数名称,我把
syn match cCustomParen "?=(" contains=cParen,cCppParen
syn match cCustomFunc "\w\+\s*(\@=" contains=cCustomParen
hi CustomFunc guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=lightyellow ctermbg=NONE cterm=bold
hi def link cCustomFunc CustomFunc
进入文件cpp.vim
,它可以正常工作。
现在我要突出显示班级名称。
这是我尝试过的:
hi CustomClassName guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=lightyellow ctermbg=NONE cterm=bold
syn match cCustomClassName "(?<=^class\s)\w\+"
hi def link cCustomClassName CustomClassName
但是,类名仍然是白色。
(?<=^class\s)\w\+
试图匹配class
和空格后的单词。例如,此正则表达式可以匹配class Test
而不使用class
之类的东西,而正则表达式正好在后面进行查找。
我已经使用一些在线工具测试了此正则表达式,并且效果很好。所以我不知道为什么它对于vim语法配置不起作用。