C++ 使用vim作为c++;11 IDE

C++ 使用vim作为c++;11 IDE,c++,vim,c++11,intellij-idea,C++,Vim,C++11,Intellij Idea,我已经在Vim中设置了一段时间的开发环境。因为我所有的项目都是C++11,所以我找到了一些插件,这些插件使我的生活变得更简单,几乎和Intellij和Java时代一样好。然而,仍然有一些东西缺失 我错过的主要功能是重构实用程序(跨项目重命名、将代码重构为函数/类、删除类等等)。关于如何在vim中获得这样的功能,有什么建议吗 我正在使用以下插件: gmarik/vundle Valloric/YouCompleteMe a、 维姆 wincent/Command-T DoxygenToolkit

我已经在Vim中设置了一段时间的开发环境。因为我所有的项目都是C++11,所以我找到了一些插件,这些插件使我的生活变得更简单,几乎和Intellij和Java时代一样好。然而,仍然有一些东西缺失

我错过的主要功能是重构实用程序(跨项目重命名、将代码重构为函数/类、删除类等等)。关于如何在vim中获得这样的功能,有什么建议吗

我正在使用以下插件:


gmarik/vundle
Valloric/YouCompleteMe
a、 维姆
wincent/Command-T
DoxygenToolkit.vim
阴囊/能树
godlygeek/表格
t视野/视野可感知
t打开/vim未损坏
t端部操作/vim
t视野/视野逃犯
jeffkreeftmeijer/vim号码切换
Lokaltog/vim测量动作
rstacruz/sparkup'
沟口/STL语法


如果您想要完整的细节,这里是my.vimrc(请随意在要点中提供):

是VIM.ORG上唯一的C++重构插件。不过,它的最新更新是从2007年开始的,所以我不确定它是否适用于C++11


您还可以尝试一个Eclipse/Vim插件,它允许您从Vim使用。

在我的插件套件中,您会发现:

  • (C++专用的各种东西)
  • (支架、周围等的智能插入)
  • ,使用先进的C++感知模板和代码段
  • 帮助定义项目的插件
    • 打电话
    • 为编译器输出提供过滤器(例如动态添加STLfilt)
    • 允许在调试/发布/任何配置之间切换(对于CMake下的项目);范例
  • (通用重构套件)

在github上,我还有一个to-wrap-clang索引器。

我认为您需要
Ultisnips
Tagbar
tcomment
插件,尤其是
Ultisnips


有关配置的更多信息,请参阅:

我所知道的c++11的唯一重构工具是LLVM和Intel的家伙们(关于它,在youtube上)。您可以从vim将其作为任何其他cli工具运行,例如:

:!clang-modernize -style=Google -format -loop-convert -pass-by-value -replace-auto_ptr -use-nullptr -use-auto -add-override -override-macros %
末尾的
%
符号将扩展到当前文件的路径。现在有更多的工具可用,如
clangtidy
cquery


您可能可以让所有修饰符和过梁在您使用类似的东西键入代码时自动更正代码。或者(这是我的首选解决方案),您可以使用and,它可以提供完整的IDE体验(使用特定于代码的修复程序、代码片段、跳转到定义、查找所有接口实现等)。

无论如何,Vim是一个文本编辑器,而不是IDE。如果你需要一个IDE,使用一个。我的插件大部分都是C++的,LH重构,虽然完善,支持C++。老实说,为什么不自己破解?良好的学习经验。也许可以选择Romaill回答中提到的项目,并将其更新。很好的建议。我很好奇为什么在.vimrc中使用Ultisnips而不是honza/vim片段?