Configurer Vim pour C ++

118

J'aimerais faire de vim mon éditeur C ++. J'ai très peu d'expérience avec lui et j'ai besoin d'aide pour configurer vim pour 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 d'autres astuces que vous, gourous du C ++ et de vim, possédez.

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

Draco Ater
la source
7
+1 pour le pur masochisme de vouloir utiliser vim comme votre IDE :) vim a ses utilisations (en particulier pour éditer des fichiers à distance selon mon expérience), mais quiconque veut réellement l' utiliser pour l'édition de code a chutzpah à mon avis.
Stuart Golodetz
38
@sgolodetz: Ensuite, il y a pas mal de gens avec la chutzpah là-bas.
Cascabel
1
@Jefromi: Oui, je me rends compte que :) Cela m'a toujours semblé être du masochisme ... d'une manière un peu admirable.
Stuart Golodetz
4
Rétrospectivement, je suppose que publier l'équivalent de «Je suis un peu dubitatif à propos de vim» sur un message susceptible d'être fréquenté par de nombreux passionnés de vim aurait pu être un peu provocateur - c'était censé être une langue commentaire de joue plutôt que le début d'une dispute cependant.
Stuart Golodetz
1
J'ai donné cette réponse qui était initialement limitée au développement C. Cependant, tout ce que j'ai dit est toujours valable pour C ++.
Luc Hermitte

Réponses:

142

Edit: mis à jour en juillet 2013

Thanh DK
la source
J'ai corrigé le lien vers ma suite ftplugins C & C ++. Merci pour la "publicité" :)
Luc Hermitte
Je peux également recommander le plugin FSwitch au lieu d'un plugin.
W55tKQbuRu28Q4xv
1
Le lhCpp de Luc est incompatible avec vundle (je pense qu'en raison de svn repo) et aucun processus d'installation que j'aime personnellement - recommande de consulter github.com/Raimondi/delimitMate
netpoetica
2
+1 une réponse très complète (et à jour) le mérite, c'est agréable de voir certains des membres les plus reclus poster ces excellentes réponses. Le degré de précision de votre réponse est très utile, tout en n'étant pas accablant, même pour un nouvel utilisateur de vim.
osirisgothra
1
Et les vim-rtags? C'est bon pour la navigation dans le code C ++, a une fonctionnalité de changement de nom.
P4C
8

J'utilise vimcomme éditeur C ++, mais je n'utilise pas beaucoup de choses «exotiques».

  • En ce qui concerne la complétion, j'utilise le non-contextuel ^Pet ^N.
  • J'ai un tas d'abréviations définies par l'utilisateur pour mon utilisation C ++, par exemple:

    abbreviate bptr boost::shared_ptr
    abbreviate cstr const std::string &
  • J'ai plusieurs fonctions pour les "extraits de code" comme des choses, 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 (qui nécessite le support ruby)

  • Pour facile .ccà .hcommutation, vous pouvez essayer ce plugin
la glace
la source