vim regex&;突出显示语法:查找匹配项并忽略其中的子匹配项

vim regex&;突出显示语法:查找匹配项并忽略其中的子匹配项,vim,vim-syntax-highlighting,Vim,Vim Syntax Highlighting,我正在尝试用VIM编写一个语法高亮程序。如何在另一场比赛中突出显示一场比赛 为了找到每个匹配项,我创建了两个synmatch行,在匹配项分开的地方工作 syn match celString "^xpath=.\{-};" -> matches "xpath=.........;" syn match celComment "\${.\{-}}" -> matches "${LIB_METADATA};" xpath字符串的第一行是粉红色,而${..

我正在尝试用VIM编写一个语法高亮程序。如何在另一场比赛中突出显示一场比赛

为了找到每个匹配项,我创建了两个
synmatch
行,在匹配项分开的地方工作

syn match celString "^xpath=.\{-};"      -> matches "xpath=.........;"
syn match celComment "\${.\{-}}"         -> matches "${LIB_METADATA};"

  • xpath字符串的第一行是粉红色,而
    ${..}
    字符串的第一行是蓝色

  • xpath字符串的第二行为粉红色,但忽略该字符串中包含的
    ${..}

我试图更改
syn match
行的顺序,但没有任何效果


我很感激您的想法。

默认情况下,Vim仅将语法组应用于尚未指定语法的文本。要指定一个组可以包含其他组,请使用
contains=…
属性:

:syn match celString "^xpath=.\{-};" contains=celComment
定义的顺序在这里不重要。有关更多信息,请参见
:帮助:syn contains

我猜是在使用组?