Konfigurieren von Vim für C ++

118

Ich möchte vim zu meinem C ++ - Editor machen. Ich habe sehr wenig Erfahrung damit und brauche Hilfe bei der Konfiguration von vim für die Arbeit mit C ++. Ich brauche solche Funktionen wie

  • Code-vollständig (für STL und für meine Klassen)
  • Umschalten zwischen .cc- und .h-Dateien
  • Vielleicht haben Sie noch einige Tricks, C ++ und Vim Gurus.

Vielleicht könnten Sie einige Konfigurationen (mit Erklärungen) oder Links zu Tutorials oder Plugins bereitstellen, die ich verwenden könnte?

Draco Ater
quelle
7
+1 für den bloßen Masochismus, vim als IDE verwenden zu wollen :) vim hat seine Verwendung (insbesondere für die Remote-Bearbeitung von Dateien nach meiner Erfahrung), aber jeder, der es tatsächlich für die Code-Bearbeitung verwenden möchte , hat meiner Ansicht nach Chuzpe.
Stuart Golodetz
38
@sgolodetz: Dann gibt es da draußen ziemlich viele Leute mit Chuzpe.
Cascabel
1
@Jefromi: Ja, das ist mir klar :) Es kam mir immer wie Masochismus vor ... auf eine etwas bewundernswerte Weise.
Stuart Golodetz
4
Im Nachhinein denke ich, dass es ein wenig provokativ gewesen sein könnte, das Äquivalent von "Ich bin ein bisschen zweifelhaft in Bezug auf Vim" auf einem Post zu veröffentlichen, der wahrscheinlich von vielen Vim-Enthusiasten frequentiert wird - es sollte ein Zungenbrecher sein Wangenkommentar und nicht der Beginn eines Streits.
Stuart Golodetz
1
Ich habe diese Antwort gegeben, die ursprünglich auf die C-Entwicklung beschränkt war. Alles, was ich gesagt habe, gilt jedoch weiterhin für C ++.
Luc Hermitte

Antworten:

142

Bearbeiten: Stand Juli 2013

Thanh DK
quelle
Ich habe den Link zu meiner C & C ++ ftplugins Suite behoben. Vielen Dank für die "Werbung" :)
Luc Hermitte
Ich kann auch das FSwitch-Plugin anstelle des A-Plugins empfehlen.
W55tKQbuRu28Q4xv
1
Lucs lhCpp ist nicht kompatibel mit vundle (ich denke aufgrund von svn repo) und es gibt keinen Installationsprozess, den ich persönlich mag - empfehlen Sie, github.com/Raimondi/delimitMate
netpoetica
2
+1 Eine sehr vollständige (und aktuelle) Antwort hat es verdient. Es ist schön zu sehen, dass einige der zurückgezogeneren Mitglieder diese großartigen Antworten veröffentlichen. Wie gründlich Ihre Antwort ist, ist sehr hilfreich, während sie selbst für einen neuen vim-Benutzer nicht überwältigend ist.
Osirisgothra
1
Wie wäre es mit vim-rtags? Es ist gut für die C ++ - Code-Navigation und verfügt über eine Umbenennungsfunktion.
P4C
8

Ich verwende vimals C ++ - Editor, aber ich verwende nicht viele 'exotische' Sachen.

  • In Bezug auf die Fertigstellung verwende ich das nicht kontextbezogene ^Pund ^N.
  • Ich habe eine Reihe von benutzerdefinierten Abkürzungen für meine C ++ - Verwendung, zum Beispiel:

    abbreviate bptr boost::shared_ptr
    abbreviate cstr const std::string &
  • Ich habe verschiedene Funktionen für "Code-Schnipsel" wie Dinge, zum Beispiel:

    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
  • Das einzige Plugin, ohne das ich wirklich nicht leben könnte, ist Command-T (das Ruby-Unterstützung erfordert).

  • Für die einfach .cczu .hSchalten, können Sie versuchen , dieses Plugin
Eiskriminalität
quelle