web-dev-qa-db-fra.com

Compiler et exécuter un programme C++ avec Vim

Je sais que cela semble vraiment stupide, mais j’ai écrit un code C++ sur l’éditeur Vim et je ne sais pas comment le compiler et le faire fonctionner. Je sais que c'est extrêmement simple - je suis éveillé depuis trop longtemps: -/merci pour l'aide!

7
hhoward

Il suffit de taper dans vim:

:wq

puis, sur votre ligne de commande, appelez le compiler qui n'est pas vim mais g++ ou clang++ ou quelque chose comme:

g++ -o myCode myCode.cpp

EDIT: Pour tous les électeurs, lisez la section 21 du manuel d’utilisation de vim par l’homme lui-même, Bram Moolenaar, intitulée: "Allez-vous-en et revenez". :help user-manual vous y conduira. Où il dit en gros que c’est cool de compiler dans vim OR enregistrer, quitter, compiler, puis de revenir. Par le titre de la section, je présume que Bram préfère le plus tard. Il a très certainement conçu vim pour gérer ce dernier d'une manière excellente. Lorsque je "reviens" dans n’importe quel fichier: le curseur se trouve sur la même ligne et la même colonne, je peux annuler et rétablir comme auparavant, et tout mon historique, recherches, registres et tout est exactement tel que je l’ai laissé. En gros, je ne vois aucune différence entre mon départ et mon départ!

RE-EDIT: à vous tous, encore une fois, les électeurs - les peeps utilisent vim de tant de manières différentes pour des raisons aussi diverses. Je fais tellement de choses au niveau de Shell tout le temps qu'il serait douloureusement idiot de rester continuellement in vim. Vos électeurs, vous travaillez évidemment dans des situations complètement différentes où il est bon de rester dans l’éditeur. S'il vous plaît, arrêtez de penser que tous les potes fonctionnent comme vous.

0
Paul Evans

:make est en effet la voie à suivre comme Jondit .

Sur les systèmes de type Linux (cela s'applique également à cygwin, mais pas à Windows), les systèmes où gnumake est installé, si vous n'avez pas de fichier Makefile dans votre projet et si votre projet est constitué d'un seul fichier, tapez simplement :make . Ce sera suffisant (vous pouvez jouer avec $CXXFLAGS, $CFLAGS et $LDFLAGS pour ajuster les options de compilation). Ensuite, pour exécuter le programme, tapez :!./%< (IIRC).

Si votre projet est composé de plusieurs fichiers, vous aurez besoin d'un fichier Makefile pour tirer parti de :make.

Si vous gérez votre projet avec CMake et si vous le compilez dans un répertoire (ou plusieurs -> debug, release, ...) en dehors de l'arborescence des sources, l'intégration nécessitera un plugin. Autant que je sache, je suis le seul à proposer un tel plugin: BuildToolsWrapper intègre la gestion de CMake (choix du répertoire de construction, possibilité de choisir entre le débogage, la publication ou n’importe quel répertoire de construction). Il doit être associé à l’un des plug-ins local_vimrc .

Dans tous les cas, appeler directement le compilateur de Vim (ou de l'extérieur) avec :!g++ -o %< % ou ce que nous avons l'habitude de faire il y a 15 ans sur vi. Vim a une fonctionnalité merveilleuse: il peut intégrer (oui, comme dans IDE) le compilateur. Voir :h quickfix. Naviguer entre les erreurs directement depuis l'éditeur est beaucoup plus facile que d'extraire une ligne d'erreur avec nos yeux, de taper le numéro de ligne dans l'éditeur, de retourner dans le shell pour voir ce qui a été rejeté, ... Cela peut suffire en C, mais en C++, lorsque nous "essayons d'appeler une surcharge qui n'existe pas", nous ne pouvons pas travailler de cette façon (basculer entre l'éditeur et le shell).

28
Luc Hermitte

Cela dépend de la façon dont vous construisez votre logiciel. Si vous utilisez make, vous pouvez entrer :make dans l'invite vim. Tapez :h make pour afficher les options et la commande associée vous permettant de parcourir les erreurs de votre code.

5
Jon