在C++11的lambda函数中使用vim实际上效果很差。缩进不起作用,许多括号被标记为错误。
我知道C和C++的缩进和语法高亮是通过内部编程而不是通过c[...].vim文件实现的。有没有可能为C++11设置vim,特别是对于带有lambda函数的源代码?也许有人可以提示如何在内部vim语法检查中添加lambda解析。
编辑:(根据评论要求的示例代码)
代码应该类似于以下示例,但格式为单列。
MyLoop( [](int a, int b){
{
::i++;
for (;;)
{
SomeFunc();
}
cout << "Result: " << a*b<<endl;
}
});
更新vim 7.4版本: 现在,vim不再将lambda表达式视为错误,但它仍然没有对lambda表达式进行任何缩进处理,所以仍然不能用于c++ :-(
顺便问一句:有没有好的自动格式化工具可以添加到vim环境中,这样按下一个键就能进行外部格式化呢?