我正在自定义.vim语法高亮显示,语法文件存在一个问题。这是代码:
syn keyword vimKeyword contains contained
当我尝试打开.vim文件时,出现错误,因为contains
是一个实际的关键字:
Error detected while processing .vim/syntax/vim.vim
E395: contains argument not accepted here
是否可以不使用而突出显示默认的vim关键字syn match
?
:help E789
提到这一点:
请注意,当您拥有与选项相同的关键字(即使此处不允许使用该关键字)时,也无法使用它。请改用火柴。
也就是说,对我来说似乎有效的只是定义一个关键字contains
:
syn keyword vimKeyword contains
可以通过单独的:syn keyword vimKeyword
命令定义其他关键字,因为它们是累积的。
另一个技巧是用可选的尾部定义关键字,但将其保留为空:
syn keyword vimKeyword contains[] contained
但是由于这两个都是(错误地)使用了Vimscript解析器的实现细节,因此我不会依赖它们,而是使用:syntax match
,如所记载。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句