在 .vimrc 中定义以下内容或在 vim 命令行中执行:
syn match ndbMethods "[^. \t\n\r]\@<=[_a-z][_a-zA-Z0-9]*(\@="
hi ndbMethods guibg=#222222
在活动缓冲区中使用 C 风格的方法调用查看结果:
foo();
你会看到方法名的首字母不匹配。
其目的是让后向模式强制将行首、文字.
或空格放在任何匹配方法的第一个字符之前。
奇怪的是,将其设为负前瞻 ( \@<!
) 似乎可行!
有人会好心解释为什么这种向后看是不正确的吗?