Windows gvim(74)语法文件,语法与它不匹配

时间:2016-05-20 21:27:36

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

我正在尝试创建一个vim语法文件(实际上对于gvim,但它们应该非常相似),但是我的一个匹配组与它应该的不匹配。

我需要匹配文字" nop"或者" NOP"把它弄出来。 我是怎么做到的:

syn match nopkw 'nop|NOP'

根据我自己的知识,(更重要的是)regex101.com,这应该与文字" nop"或者" NOP"。稍后在我的文件中我使用

highlight nopkw guifg=#d3d3d3

如果我是正确的,这应该使所有" nop"浅灰色。但事实并非如此。 我的文件中有其他匹配正常的匹配,例如数字:

syn match num '\d+'
highlight num guifg=#ff0000

这正如预期的那样正常。为什么" nop"正则表达式不起作用,你能找到一个吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

谢天谢地,答案很简单。你需要逃离吧,因为它是'或'。试试这个:

syn match nopkw 'nop\|NOP'

或者,另一种选择是使用magic option。这看起来像这样:

syn match nopkw '\vnop|NOP'