【发布时间】:2020-11-03 05:58:11
【问题描述】:
我注意到 C++ 函数没有使用我的 vim 样式应用任何样式,因此我认为添加快速正则表达式匹配以查找紧跟 ( 的任何单词并将其计为语法。
在我的 .vim 中,我输入了:
syn match cppFun "\w+(?=\()"
这似乎适用于 other regex matchers,但 vim 抱怨不匹配的 \)。
但是,检查:highlight,我确实看到语法 cppFun 设置了一些东西。
我想也许 vim 正则表达式是倒退的,所以我试了一下
syn match cppFun "\w+\(?=(\)"
虽然它不再抱怨不匹配的括号,但我仍然没有在我的 main.cpp 中获得功能亮点。
为了让语法高亮显示出来,正则表达式应该是什么样子?
这是我使用\w+(?=\() 测试的对象:
int main(int argc, char** argv) {
std::puts('Hello World');
return 0;
}
期望匹配 main 和 puts
【问题讨论】:
-
试试这个:
syntax match cppFun "\v\w+\s*\([^)]*\)"
标签: regex vim syntax-highlighting