it-swarm.com.de

Kompilieren und Ausführen eines C++ - Programms mit Vim

Ich weiß, dass das wirklich dumm klingt, aber ich habe einen C++ - Code in Vim Editor geschrieben und kann für mein ganzes Leben nicht herausfinden, wie ich ihn kompilieren und ausführen soll. Ich weiß, das ist sehr einfach - ich war viel zu lange wach: -/Danke für die Hilfe!

7
hhoward

Einfach in vim eingeben:

:wq

rufen Sie dann in Ihrer Befehlszeile den Compiler auf, der nicht vim, sondern g++ oder clang++ ist, oder so etwas wie:

g++ -o myCode myCode.cpp

BEARBEITEN: Alles, was Sie Wähler sind, lesen Sie bitte Abschnitt 21 des VIM-Benutzerhandbuchs durch den Mann selbst, Bram Moolenaar mit dem Titel: "Geh weg und komm zurück". :help user-manual bringt Sie dorthin. Wo er im Grunde sagt, ist es cool, entweder in vim OR zu kompilieren, zu speichern und zu beenden, zu kompilieren und dann zurückzukehren. Nach dem Titel des Abschnitts, nehme ich an, zieht Bram den späteren vor. Er hat mit Sicherheit die besten Voraussetzungen geschaffen, um mit den späteren auf hervorragende Weise fertig zu werden. Wenn ich zu einer beliebigen Datei "zurückkomme": Der Cursor befindet sich in derselben Zeile und Spalte. Ich kann wie zuvor rückgängig machen und wiederherstellen, und meine gesamte Historie, Suche, Registrierung und alles ist genau so, wie ich es verlassen habe. Im Grunde kann ich keinen Unterschied sehen, als ich wegging!

RE-EDIT: Nochmals an alle, die die Wähler verunsichert haben - Peeps verwenden vim auf so viele verschiedene Arten und Weisen aus so vielen verschiedenen Gründen. Ich mache die ganze Zeit so viel auf der Shell-Ebene, dass es schmerzlich idiotisch wäre, ständig im Visier zu bleiben. Sie arbeiten offensichtlich in völlig anderen Situationen, in denen Sie gut darin sind, im Editor zu bleiben. Bitte hör auf zu denken, dass alle Blicke genauso funktionieren wie du.

0
Paul Evans

:make ist in der Tat der Weg zu gehen als Jonsagte .

Auf Linux-ähnlichen Systemen (gilt auch für Cygwin, aber nicht für Windows), auf denen Gnumake installiert ist, wenn Sie kein Makefile in Ihrem Projekt haben und Ihr Projekt nur aus einer Datei besteht, geben Sie einfach :make ein. . Es wird ausreichen (Sie können mit $CXXFLAGS, $CFLAGS und $LDFLAGS spielen, um die Kompilierungsoptionen zu optimieren). Geben Sie zum Ausführen des Programms :!./%< (IIRC) ein.

Wenn Ihr Projekt aus mehreren Dateien besteht, benötigen Sie ein Makefile, um :make nutzen zu können.

Wenn Sie Ihr Projekt mit CMake verwalten und Ihr Projekt in einem Verzeichnis (oder mehreren -> Debug, Release, ...) außerhalb des Quellbaums kompilieren, ist für die Integration ein Plugin erforderlich. AFAIK, ich bin der einzige, der ein solches Plugin vorschlägt: BuildToolsWrapper integriert die Verwaltung von CMake (Auswahl des Build-Verzeichnisses, Auswahlmöglichkeit zwischen Debug, Release oder einem beliebigen Build-Verzeichnis). Es muss mit einem der local_vimrc Plugins gekoppelt sein.

In jedem Fall rufen wir den Compiler direkt von innerhalb (oder außerhalb) von Vim mit :!g++ -o %< % auf, oder wie auch immer, was wir vor 15 Jahren auf vi getan haben. Vim hat eine wunderbare Funktion: Es kann den Compiler integrieren (ja, wie in IDE). Siehe :h quickfix. Das Navigieren zwischen Fehlern direkt aus dem Editor ist viel einfacher als das Extrahieren einer Fehlerzeile mit unseren Augen, das Zurücktippen der Zeilennummer in den Editor, das Zurückkehren zur Shell, um zu sehen, was genau abgelehnt wurde. Aber wenn wir in C++ "versuchen, eine Überladung aufzurufen, die nicht existiert", können wir nicht auf diese Weise arbeiten (zwischen dem Editor und der Shell hin und her wechseln).

28
Luc Hermitte

Dies hängt davon ab, wie Sie Ihre Software erstellen. Wenn Sie make verwenden, können Sie :make in die vim-Eingabeaufforderung eingeben. Geben Sie :h make ein, um die Optionen und unterstützenden Befehle anzuzeigen, mit denen Sie die Fehler in Ihrem Code durchlaufen können.

5
Jon