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

时间:2012-06-21 03:40:42

标签: c++ vim

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

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

3 个答案:

答案 0 :(得分:20)

关于代码导航(和完成)

我会看一下clang_indexer(和clang_complete) - ctag对C ++代码的理解非常糟糕,但是通用ctags大大改善了这种情况; cscope对C ++的理解是不存在的。

关于C ++编码的插件

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

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

否则,我也使用:

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

其他插件。

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

PS:我在BuildToolWrapper上对同一主题的回答略有不同。

答案 1 :(得分:3)

cscope是一个很好的浏览工具。有很好的教程here

ctags是另一个不错的工具,我在我的项目中使用它。教程here。如果您在Ubuntu中,则可以通过执行以下操作安装ctags

apt-get install exuberant-ctags

gtags是另一种工具。

答案 2 :(得分:2)

我广泛使用taglist

  
    
      

“标签列表”插件是Vim编辑器的源代码浏览器。它概述了源代码文件的结构,并允许您以不同的编程语言有效地浏览源代码文件。它是Vim编辑器的顶级和下载最多的插件。