为 C++ 配置 Vim
我想让 vim 成为我的 C++ 编辑器.我几乎没有使用它的经验并且在配置 vim 以使用 C++ 方面需要帮助.我需要诸如
I would like to make vim my C++ editor. I have very little experience working with it and need help in configuring vim to work with C++. I need such features as
- 代码完整(适用于 stl 和我的课程)
- 在 .cc 和 .h 文件之间切换
- C++ 和 vim 大师可能还有更多技巧.
也许你可以提供一些配置(带解释),或者教程链接,我可以使用的插件?
May be you could provide some configs (with explanations), or links to tutorials, plugins I could make use of?
推荐答案
- 代码完成:Omni完成或Clang 自动完成 或 YouCompleteMe
- 实时语法检查:Syntastic
- 在源文件和头文件之间切换:一个插件
- 代码片段:Snipmate 或 UltiSnip
- 搜索变量、函数、类等的引用:Cscope
- 转到定义:Ctags 或 YouCompleteMe 子命令 上面提到的
- 重构工具:重构、lh-refactor
- 有用的文本对象:Arg 文本对象 和 类文本对象
- Vim Tips wiki 中的 C++ 类别
- Luc Hermitte 的 C/C++ 插件
- 不是 C++ 特定的,但我也推荐 FuzzyFinder 或 Command-T 或 Unite 用于文件导航.使用其中的任何一个,您甚至不需要选项卡(不能针对 10 个以上的文件进行缩放)来管理您的项目.
- 类导航:Taglist 或 标签栏
- Code complete: Omni completion or Clang autocomplete or YouCompleteMe
- Real time syntax checking: Syntastic
- Switching between source and header file: A plugin
- Snippets: Snipmate or UltiSnip
- Search for reference of variables, functions, classes, etc.: Cscope
- Go to definition: Ctags or part of YouCompleteMe subcommands mentioned above
- Refactoring tools: Refactor, lh-refactor
- Useful text objects: Arg text object and Class text object
- C++ category in Vim Tips wiki
- Luc Hermitte's C/C++ plugin
- Not C++ specific but I also recommend either FuzzyFinder or Command-T or Unite for file navigation. With either of these, you don't even need tabs (which does not scale for 10+ files) to manage your project.
- Class navigation: Taglist or Tagbar
截至 2013 年 7 月更新
Updated as of July 2013
相关文章