web-dev-qa-db-fra.com

Configuration de Vim pour C ++

Je voudrais faire vim mon éditeur C++. J'ai très peu d'expérience dans ce domaine et j'ai besoin d'aide pour configurer vim afin qu'il fonctionne avec C++. J'ai besoin de fonctionnalités telles que

  • code complet (pour stl et pour mes cours)
  • basculer entre les fichiers .cc et .h
  • peut-être que vous, C++ et les gourous Vim, avez encore quelques astuces.

Peut-être pourriez-vous fournir des configs (avec des explications), ou des liens vers des tutoriels, des plugins que je pourrais utiliser?

103
Draco Ater

Edit: Mise à jour en juillet 2013

129
Thanh DK

J'utilise vim comme éditeur C++, mais je n'utilise pas beaucoup de choses "exotiques".

  • En ce qui concerne l'achèvement, j'utilise les ^P Et ^N Non contextuels.
  • J'ai un groupe d'abréviations définies par l'utilisateur pour mon utilisation en C++, par exemple:

    abbreviate bptr boost::shared_ptr
    abbreviate cstr const std::string &
    
  • J'ai plusieurs fonctions pour les "extraits de code", par exemple:

    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
    
  • Le seul plugin sans lequel je ne pourrais vraiment pas vivre est Command-T (= Ruby support)

  • Pour passer facilement de .cc À .h, Vous pouvez essayer ce plugin
8
icecrime

NERDTree http://www.vim.org/scripts/script.php?script_id=1658

Ctags exubérants (vim supporte déjà les raccourcis de manière native) http://ctags.sourceforge.net/

taglist: http://vim-taglist.sourceforge.net/

snipmate: http://www.vim.org/scripts/script.php?script_id=254

Je ne fais pas omnicompletion juste les trucs habituels, mais il y a beaucoup de ressources pour Google.

2
ThePosey