[Vim] Lister les erreurs dans un code C ?

Résolu/Fermé
duddy67 - 23 sept. 2007 à 11:31
 duddy67 - 24 sept. 2007 à 08:41
Bonjour,

J'ai un pb pour la recherche d'erreurs dans un un programme C avec Vim.
J'ai suivis les instructions de la doc:

http://vim.dindinx.net/traduit/html/usr_30.txt.php#30.1

Pour le make ça marche. Je tape :!make et le programme compile (ou pas).
Mais où ça marche plus c'est lorsqu'il y a des erreurs dans le code.
GCC m'affiche quelles sont les erreurs puis le prompt affiche:

Appuyez sur ENTRÉE ou tapez une commande pour continuer

Et là normalement (selon la doc) lorsque j'appuie sur entrée Vim devrait
placer le curseur sur la 1ere erreur, mais non.
J'ai essayé de taper :clist ou :cnext pour voir mais la seule
réponse de Vim est:

E42: Aucune d'erreur

Est ce que quelqu'un aurait une idée ?

Merci
A voir également:

3 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
24 sept. 2007 à 00:05
Chez moi ça marche mais il faut bien taper :
:make

et non pas :
:!make

En effet dans le premier cas tu encapsules l'appel de make dans ton vim, qui va récupérer la sortie renvoyée par ton compilateur. Dans la seconde tu exécutes en arrière plan la commande shell make (mais ça pourrait être n'importe qu'elle autre commande shell). Si tu fais bien :make, la marque est bien positionnée sur la première erreur et les commande :cnext et :clist marchent bien.

Bonne chance
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
24 sept. 2007 à 00:15
Salut,

J'ai suivis les instructions de la doc:
pas tout à fait ;-)

La commande suivante exécute le programme "make" (en lui transmettant tous les
arguments que vous lui passez) et intercepte les résultats :

:make {arguments}



Miss a raison :-))
0
ooops, je ne sais pas pourquoi je tenais tant à mettre ce point d'exclamation
au milieu. En effet c'est bien :make et pas :!make.
Merci ;-)
0