vim-highlight:无法匹配后面的正则表达式

时间:2019-09-20 02:02:25

标签: regex vim syntax-highlighting vim-syntax-highlighting

我正在尝试使用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语法配置不起作用。

0 个答案:

没有答案