Configuring Vim for 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

  • code-complete (for stl and for my classes)
  • switching between .cc and .h files
  • may be some more tricks you, C++ and vim gurus, have.

May be you could provide some configs (with explanations), or links to tutorials, plugins I could make use of?

7

3 Answers

Edit: Updated as of July 2013

7

I'm using vim as my C++ editor, however I'm not using many 'exotic' stuff.

  • Regarding completion, I'm using the non-contextual ^P and ^N.
  • I have a bunch of user defined abbreviations for my C++ use, for example :

    abbreviate bptr boost::shared_ptr
    abbreviate cstr const std::string &
    
  • I have several functions for "code snippets" like things, for example :

    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
    
  • The only plugin I really couldn't live without is Command-T (which requires ruby support)

  • For easy .cc to .h switching, you can try this plugin
0

NERDTree

Exuberant ctags (vim already supports the hotkeys natively)

taglist:

snipmate:

I don't do omnicompletion just the usual ^n ^p stuff but there are plenty of resources to google for.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Elena Rostova

Elena Rostova

Lead Health, Wellness & Medical Journalist

Elena Rostova holds a Master's degree in Public Health Journalism. She covers groundbreaking medical research, holistic wellness trends, mental health awareness, and nutritional science.

Share this article
Twitter Facebook Pinterest