为C++配置Vim

Dra*_*ter 106 c++ vim configuration

我想让vim成为我的C++编辑器.我使用它的经验很少,需要帮助配置vim才能使用C++.我需要这样的功能

  • 代码完成(对于stl和我的类)
  • 在.cc和.h文件之间切换
  • 你可能会有更多技巧,C++和vim大师.

也许你可以提供一些配置(有解释),或链接到教程,我可以使用的插件?

Tha*_* DK 132

编辑:自2013年7月更新

  • +1一个非常完整(和最新)的答案值得,它很高兴看到一些更隐居的成员发布这些伟大的答案.你的答案有多彻底,非常有用,同时也不会让人感到压力,甚至对新的vim用户来说也是如此. (2认同)

ice*_*ime 8

我正在使用vim我的C++编辑器,但是我并没有使用很多"异国情调"的东西.

  • 关于完成,我使用非上下文^P^N.
  • 我有一堆用户定义的缩写用于我的C++使用,例如:

    abbreviate bptr boost::shared_ptr
    abbreviate cstr const std::string &
    
    Run Code Online (Sandbox Code Playgroud)
  • 我有几个函数用于"代码片段"之类的东西,例如:

    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
    
    Run Code Online (Sandbox Code Playgroud)
  • 我真的不能没有的唯一插件是Command-T(需要ruby支持)

  • 为了便于.cc.h开关,你可以试试这个插件