为C ++配置Vim


118

我想将vim做成我的C ++编辑器。我很少有使用它的经验,并且在配置vim以与C ++一起使用时需要帮助。我需要这样的功能

  • 代码完整(对于stl和我的课程)
  • 在.cc和.h文件之间切换
  • 可能是C ++和vim专家提供的更多技巧。

也许您可以提供一些配置(包括说明),或者可以使用的教程,插件的链接?


7
+1是指想要将vim用作IDE的绝对受虐狂:) vim有其用途(根据我的经验,尤其是用于远程编辑文件),但是在我看来,真正将其用于代码编辑的任何人都喜欢chutzpah。
Stuart Golodetz,2010年

38
@sgolodetz:然后有很多人与chutzpah在一起。
卡斯卡贝尔

1
@Jefromi:是的,我确实意识到:)尽管在我看来,这似乎一直是一种自虐。
Stuart Golodetz,2010年

4
回想起来,我想在很多vim爱好者经常光顾的帖子上贴上“我对vim有点怀疑”的字样可能有点挑衅性-这本来是一种口误。脸颊的评论而不是争论的开始。
Stuart Golodetz,2010年

1
我确实给出了这个答案该答案最初仅限于C开发。但是我说的每件事对C ++仍然有效。
卢克·赫米特

Answers:


142

编辑:2013年7月更新


我已经修复了我的C&C ++ ftplugins套件的链接。感谢您的“广告” :)
卢克·赫米特

另外,我可能会推荐FSwitch插件而不是A插件。
2013年

1
Luc的lhCpp与vundle不兼容(我认为是由于svn repo),并且没有我个人喜欢的安装过程-建议查看github.com/Raimondi/delimitMate
netpoetica 2013年

2
+1应该得到一个非常完整(最新)的答案,很高兴看到一些比较隐蔽的成员发布了这些出色的答案。您的回答有多么全面,这对您很有帮助,同时即使对于新vim用户,也不会让人感到不知所措。
osirisgothra 2014年

1
vim-rtags呢?这对c ++代码导航很有用,具有重命名功能。
P4C

8

我使用的vim是我的C ++编辑器,但是我没有使用很多“异国情调”的东西。

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

    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
  • 我真正不能没有的唯一插件是Command-T(需要红宝石支持)

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.