我正在尝试为Vim写一个语法文件。
其中一行代码读取
syn match constant "\**\*"
而许多其他行中的一行读取
syn keyword aiOperators up-build
突出显示的代码如下:
hi constant gui=bold
hi aiOperators guifg=green
然而,上述结果是只突出显示以下内容:
似乎是什么问题?
答案 0 :(得分:5)
常量的正则表达式指定一个文字星号,零次或多次,后跟一个文字星号。如果您打算匹配由星号分隔的字符,则需要\*\w\+\*
:字面星号,后跟一个或多个单词字符,后跟字面星号。
:syn keyword
仅适用于关键字字符;默认情况下,连字符不,因此匹配停在那里。如果对于您的文件类型,连字符属于关键字字符集,请使用
:setlocal iskeyword+=-
这不应放入语法文件本身,而应放入~/.vim/ftplugin/myfiletype.vim
。否则,请使用:syn match
。