我有omnicppcomplete插件和繁琐的ctags,我使用以下命令为项目生成标签:
我想要实现的是让Vim在通过STL容器访问它时识别对象的类型,为我提供适当的自动完成建议列表. 例如,假设IntWrapper对象有一个getTheInt()方法,我有一个IntWrappers向量:
如果我有以下代码:
我希望VIM理解wrapper [i]是IntWrapper类型并且给我getTheInt()方法作为第一个自动完成选项,以及文档,就像我直接在IntWrappers对象上操作一样. 为了弄清楚我的期望,下面的第一个截图是当我要求对向量自动完成时会发生什么,第二个是当我直接访问对象时会发生什么,以及即使使用stl容器我也想要实现的. (上面用红色突出显示的句子表示未找到表达式) 有没有插件(我不关心CPU昂贵)这样做? 非常感谢. 解决方法: 实际上,我认为omnicomplete无法处理上下文问题,因此您无法将其用于您的目的.进行C / STL自动完成的方法是使用clang_complete(或here). 虽然表现似乎很成问题(请看这里:How to improve the completion speed of clang_complete?). 关于这个主题的一个很好的教程(为C STL完成配置vim clang)可以在这里找到:http:///vimautocomplete.html 参考: > Clang的C 98和C 11支持:http://clang./cxx_status.html 注意:另一个选择是使用gccsense,这是一个使用GCC代码分析器的独立工具.这是项目主页的链接:http:///software/gccsense/ > gccsense vs. clang_complete |
|