Vim 是否仅将突出显示规则作为语法文件中的下一个组运行?

Vim 是否仅将突出显示规则作为语法文件中的下一个组运行?,vim,syntax,highlight,Vim,Syntax,Highlight,我在自定义语法文件中有这些规则 syn match id '\w\+' syn keyword _type void int bool string list nextgroup=id 我只希望id在\u类型您已经接近后匹配 为了避免id组与其他任何地方匹配,只需添加包含的 对于nextgroup=…,匹配必须在当前组结束后开始。因此,您需要在id组匹配中包含前导空格:\s\+,或添加skipwhite 语法组的命名约定是在它们前面加上您的语法名称;我在这里使用了我的… 你能举例说明哪些应

我在自定义语法文件中有这些规则

syn match id '\w\+'
syn keyword _type void int bool string list nextgroup=id
我只希望
id
\u类型

您已经接近后匹配

  • 为了避免id组与其他任何地方匹配,只需添加
    包含的
  • 对于
    nextgroup=…
    ,匹配必须在当前组结束后开始。因此,您需要在id组匹配中包含前导空格:
    \s\+
    ,或添加
    skipwhite
  • 语法组的命名约定是在它们前面加上您的语法名称;我在这里使用了我的…

你能举例说明哪些应该突出显示,哪些不应该突出显示吗?在
nextgroup=myId
之后添加
skipwhite
可能更好。谢谢@肯尼思:好主意!我已经在我的回答中包含了这一点。
:syn match myId '\w\+' contained
:syn keyword myType void int bool string list nextgroup=myId skipwhite