为C+配置Vim+; 我想把VIM作为我的C++编辑器。我几乎没有使用它的经验 并且需要帮助配置VIM来与C++一起工作。 我需要这样的功能 代码完成(对于stl和my类) 在.cc和.h文件之间切换 也许你还有更多的技巧,C++和VIM大师,有。 你可以提供一些配置(解释),或者教程,我可以使用插件,
我用<代码> vim < /代码>作为我的C++编辑器,但是我没有使用很多“异国情调”的东西。为C+配置Vim+; 我想把VIM作为我的C++编辑器。我几乎没有使用它的经验 并且需要帮助配置VIM来与C++一起工作。 我需要这样的功能 代码完成(对于stl和my类) 在.cc和.h文件之间切换 也许你还有更多的技巧,C++和VIM大师,有。 你可以提供一些配置(解释),或者教程,我可以使用插件,,c++,vim,configuration,C++,Vim,Configuration,我用 vim < /代码>作为我的C++编辑器,但是我没有使用很多“异国情调”的东西。 关于完成,我使用的是非上下文的^P和^N >p>我有一组用户定义的缩写,用于我的C++使用,例如: abbreviate bptr boost::shared_ptr abbreviate cstr const std::string & function! IncludeGuard() let basename = expand("%:t:r") let includeGuard =
- 关于完成,我使用的是非上下文的
和^P
^N
- 我有几个用于“代码段”的函数,例如:
abbreviate bptr boost::shared_ptr abbreviate cstr const std::string &
function! IncludeGuard() let basename = expand("%:t:r") let includeGuard = '__' . basename . '_h__' call append(0, "#ifndef " . includeGuard) call append(1, "#define " . includeGuard) call append(line("$"), "#endif /* !" . includeGuard . " */") endfunction
- 我唯一真正离不开的插件是(需要ruby支持)
- 为了便于
到.cc
切换,您可以尝试.h
abbreviate bptr boost::shared_ptr
abbreviate cstr const std::string &
function! IncludeGuard()
let basename = expand("%:t:r")
let includeGuard = '__' . basename . '_h__'
call append(0, "#ifndef " . includeGuard)
call append(1, "#define " . includeGuard)
call append(line("$"), "#endif /* !" . includeGuard . " */")
endfunction
- 代码完成:或
- 实时语法检查:
- 在源文件和头文件之间切换:
- 片段:或
- 搜索变量、函数、类等的引用:
- 转到定义:或上述部分
- 重构工具:
- 有用的文本对象:和
- 类导航:或
编辑:自2013年7月起更新+1,纯粹是因为想将vim用作IDE的自虐:)vim有它的用途(以我的经验,尤其是在远程编辑文件时),但是任何想用它来编辑代码的人在我看来都是胆大包天的。@sgolodetz:那么有相当多的人是胆大包天的。@Jefromi:是的,我确实意识到:)但对我来说,这似乎总是像受虐狂……有点令人敬佩。回想起来,我想,这相当于“我对维姆有点怀疑“在一篇可能经常被许多vim爱好者浏览的帖子上,这可能有点挑衅性——这是一篇开玩笑的评论,而不是一场争论的开始。我确实给出了一篇最初仅限于C开发的文章。但是我说的每一件事情都是C++的,我已经把链接固定到了C+C++ FTTPULIN套件。感谢您的“广告”:)我也可能推荐使用FSwitch插件而不是插件。Luc的lhCpp与vundle不兼容(我认为是因为svn repo),并且我个人不喜欢安装过程-建议签出+1一个非常完整(最新)的答案,很高兴看到一些比较隐秘的成员发布了这些很棒的答案。你的答案有多彻底,是非常有帮助的,但同时也不会让人不知所措,甚至对一个新的vim用户来说也是如此?它对C++代码导航很有帮助,具有重命名功能。