在大型C++项目中使用vim进行编码

Joh*_*ugo 13 c++ vim

是否有任何VIM插件可用于索引C++项目代码库?

我会说明能够指定一个类的功能,并且可能是一个方法,并查看方法/类定义的文件/行.

Luc*_*tte 20

关于代码导航(和完成),

我来看看clang_indexer(和clang_complete) - ctag对C++代码的理解非常糟糕,但是universal-ctags已经大大改善了这种情况; cscope对C++的理解是不存在的.

关于C++编码的插件,

我有一个C和C++编程套件.它主要面向C++编程,但是C中也可以使用一些独特的功能:

  • 上下文敏感的片段(它们需要我正在维护的其他插件);
  • 一种从声明中跳转到函数定义的方法(或者如果它还不存在则动态创建它)(它曾经需要插件替代,这是必须的,但是我已经将它分叉为我的自己的需要) - > :GOTOIMPL;
  • 一个小工具,列出具有声明和没有定义的函数,或带有定义和没有声明的函数(注意:我还没有用它来对抗C静态函数)(它需要ctags).
  • :Override 搜索可覆盖的函数
  • :DOX 分析C++函数签名以生成适当的(可自定义的)doxygen注释(使用\ param,\ throw,...)
  • 包含头文件的映射,其中定义了光标下的符号*(需要最新的ctags基础)
  • 还有其他一些东西

否则,我也用:

  • 像project/local_vimrc这样的插件,以便进行项目特定的设置 ;
  • searchInRuntime打开/跳转到文件而无需浏览当前项目的目录;
  • 一个重构插件(仍然缺少一些东西......);
  • 一个包装器:make来进行后台编译,过滤和makeprg结果(例如cygwin posix表单和dos表单之间的路径名转换; STLfilt的应用程序;等等)( - > BuildToolWrapper,它是稳定的,但仍处于alpha阶段);
  • 以及其他一些已经提到的东西(替代,ctags,......).

其他插件.

其他人使用c.vim,其他模板系统(snipmate&co),pyclewn(我强烈建议从vim中调试(使用gdb)),其他支架周围和扩展系统,......

PS:关于quora上同一主题,我的回答略有不同.