我注意到我的vim样式没有应用于C++函数,所以我想添加一个快速的正则表达式匹配来查找任何紧接着一个左括号的单词,并将其视为语法。在我的.vim文件中,我添加了以下内容:
这似乎可以与其他正则表达式匹配器很好地配合使用,但vim抱怨没有匹配的
虽然它不再抱怨括号不匹配,但是我仍然没有在main.cpp中获得函数高亮显示。
正则表达式应该长成什么样子才能让语法高亮显示?
这是我用
syn match cppFun "\w+(?=\()"
这似乎可以与其他正则表达式匹配器很好地配合使用,但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*\([^)]*\)"
- anubhava