你已经很接近了。
- 为避免id组与其他任何地方匹配,只需添加
contained
.
- 对于
nextgroup=...
,匹配必须在当前组结束之后开始。因此,您需要在id组 match:\s\+
或 add中包含前导空格skipwhite
。
- 语法组的命名约定是在它们前面加上您的语法名称;我
my...
这里用过。
:syn match myId '\w\+' contained
:syn keyword myType void int bool string list nextgroup=myId skipwhite