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

Lesezeit: 5 Minuten

Benutzer-Avatar
hhoward

Ich weiß, das klingt wirklich dumm, aber ich habe einen C++-Code im Vim-Editor geschrieben und kann beim besten Willen nicht herausfinden, wie man ihn kompiliert und ausführt. Ich weiß, das ist extrem einfach, aber ich war viel zu lange wach. Danke für die Hilfe!

  • Nun … Vim ist ein Texteditor. Sie müssen eine verwenden Compiler um Ihr Programm zu kompilieren ;-).

    – rodrigo

    31. Januar 2014 um 7:31 Uhr

  • schau mal bei stackoverflow.com/questions/2627886/…

    – Kamlesh Arya

    31. Januar 2014 um 7:34 Uhr

  • Sie können dies sehen [question][1]aber die Verwendung von IDE wäre besser, denke ich. [1]: stackoverflow.com/questions/2627886/…

    – serkos

    31. Januar 2014 um 7:38 Uhr

  • @SergeyKoklyuev Die Verwendung einer IDE oder eines Texteditors ist eine persönliche Entscheidung und kann nicht besser oder schlechter sein. Es könnte einfacher sein, weil das OP wie ein Anfänger klingt (keine Beleidigung beabsichtigt).

    – Jon

    31. Januar 2014 um 7:43 Uhr

  • Sie können eine Zuordnungssequenz hinzufügen, um die Einzelquelle zu kompilieren, die Sie bearbeiten, und eine Sequenz hinzufügen, um sie auszuführen. In meinem ~/.vimrc ich füge hinzu map \g <Esc>:!gcc -Wall -Wextra -pedantic -std=c11 -Wshadow -Ofast -o %< % <CR> die das Kompilieren abbildet \g (Zugriff durch [ctrl]+v dann \g) Um die Datei dann auszuführen, fügen Sie eine Karte für hinzu map \r <Esc>:!./%< <CR> (Zugriff durch [ctrl]+v dann \r). Also ist es im Grunde \g zum gcc und \r laufen.

    – David C. Rankin

    23. Januar 2020 um 1:47 Uhr

Benutzer-Avatar
Luca Hermitte

:make ist in der Tat der richtige Weg, wie Jon sagte.

Auf Linux-ähnlichen Systemen (gilt auch für cygwin, aber nicht für mingw unter 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 ein :make. Es wird ausreichen (Sie können damit spielen $CXXFLAGS, $CFLAGS und $LDFLAGS um die Kompilierungsoptionen abzustimmen). Geben Sie dann zum Ausführen des Programms ein :!./%< (IIRC).

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

Wenn Sie Ihr Projekt mit CMake verwalten und Ihr Projekt in einem Verzeichnis (oder mehreren -> debug, release, …) außerhalb des Quellenbaums kompilieren, wird für die Integration ein Plugin benötigt. AFAIK, ich bin der einzige, der ein solches Plugin vorschlägt: BuildToolsWrapper integriert die Verwaltung von CMake (Wahl des Build-Verzeichnisses, Wahlmöglichkeit zwischen Debug, oder Release, oder welchem ​​Build-Verzeichnis auch immer). Es muss mit einem der gekoppelt werden local_vimrc Plugin.

In allen Fällen wird der Compiler direkt von innerhalb (oder außerhalb) von Vim aufgerufen :!g++ -o %< % oder was auch immer wir vor 15 Jahren auf vi gemacht haben. Vim hat ein wunderbares Feature: Es kann (ja, wie in IDE) den Compiler integrieren. Sehen :h quickfix. Das Navigieren zwischen Fehlern direkt aus dem Editor ist viel einfacher, als eine Fehlerzeile mit unseren Augen zu extrahieren, die Zeilennummer wieder in den Editor einzutippen, zurück zur Shell zu gehen, um zu sehen, was genau abgelehnt wurde, … Es kann in C ausreichen, aber in C++, wenn wir “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).

  • Dies sollte die akzeptierte Antwort sein.

    – Sekko

    29. Februar 2016 um 3:57 Uhr

  • Dadurch habe ich alle 30 Minuten 5 Sekunden C/C++/Java-Codierung gespart.

    – Shubham Pawar

    12. April 2020 um 4:54 Uhr

Benutzer-Avatar
Paul Evans

Einfach eintippen vim:

:wq

Rufen Sie dann in Ihrer Befehlszeile die Compiler was nicht ist vim sondern g++ oder clang++ oder so ähnlich:

g++ -o myCode myCode.cpp

BEARBEITEN: Alle Unterwähler lesen bitte Abschnitt 21 des vim-Benutzerhandbuchs von dem Mann selbst, Bram Moolenaar, mit dem Titel: “Geh weg und komm zurück”. :help user-manual wird dich dorthin bringen. Wo er im Grunde sagt, dass es cool ist, entweder in vim zu kompilieren ODER zu speichern und zu beenden, zu kompilieren und dann zurückzukommen. Dem Titel des Abschnitts nach nehme ich an, dass Bram letzteres bevorzugt. Er hat mit Sicherheit die Kraft geschaffen, um letzteres auf hervorragende Weise zu handhaben. Wenn ich zu irgendeiner Datei “zurückkehre”: Der Cursor befindet sich in derselben Zeile und Spalte, ich kann wie zuvor rückgängig machen und wiederholen, und meine gesamte Historie, Suchen, Register und alles ist genau so, wie ich es verlassen habe. Ich kann im Grunde keinen Unterschied feststellen, als ich weggegangen bin!

RE-EDIT: Nochmals an alle Unterwähler – Peeps verwenden Vim auf so viele verschiedene Arten und 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 in Vim zu bleiben. Sie Unterwähler arbeiten offensichtlich in ganz anderen Situationen, in denen Sie gut im Editor bleiben können. Bitte hör auf zu glauben, dass alle Peeps genauso funktionieren wie du.

  • +1 … danke für die Erinnerung … ich habe es völlig vergessen. wie wir das oft während der College-Labore gemacht haben …;)

    – Kamlesh Arya

    31. Januar 2014 um 7:37 Uhr


  • Das ist nicht sehr lebhaft. Das Schließen und erneute Öffnen von vim jedes Mal, wenn Sie kompilieren möchten, ist sehr ineffizient. Verwenden Sie besser einen integrierten Befehl wie :make (siehe meine Antwort).

    – Jon

    31. Januar 2014 um 7:40 Uhr

  • @PaulEvans Dein Vim-Golf-Handicap muss schrecklich sein. Aber bitte nicht böse sein. Ich sage nicht, dass es falsch ist, aufzuhören, nur weniger effizient … unser armes OP hat vielleicht 50 Puffer offen … was natürlich auf Wiedersehen gehen wird.

    – Jon

    31. Januar 2014 um 7:45 Uhr

  • Zumindest einfach tun ctrl-z vim vorübergehend verlassen! und dann fg um zu dem zurückzukehren, was du getan hast. Das heißt, ich schließe und öffne vim ständig. Ich halte es jedoch für eine schlechte Angewohnheit.

    – Methode

    5. September 2015 um 18:56 Uhr

  • Warum all die Abwertungen?

    – Blaze349

    21. Juli 2017 um 11:17 Uhr

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

  • Texteditoren sollten zum Bearbeiten von Text, der Unix-Philosophie, dienen

    – Blaze349

    21. Juli 2017 um 11:17 Uhr

1012140cookie-checkKompilieren und Ausführen eines C++-Programms mit Vim [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy