Gvim et le langage C

Gvim et le langage C - Logiciels - Linux et OS Alternatifs

Marsh Posté le 16-06-2007 à 18:12:38    

Salut,
 
J'utilise l'execllement Gvim pour faire du dévelopement en C. Je cherche à savoir si Gvim est capable d'afficher le prototype d'une fonction ou les éléments d'une structure.
J'ai lu que l'on pouvait utiliser le Ctrl X et Ctrl O pour afficher l'autocompétion ...mais sans résultat :(
 
Ce qui revient à afficher à la ligne 9(MyFile.c), les éléments de la structure dispo (soit Data ou Entier) comme le fait VC++ (sous windows)
 
 
Voici un exemple de fichier MyFile.h
 

Code :
  1. /* Header : MyFile.h */
  2. typedef struct
  3. {
  4.   unsigned char Data[200];
  5.   unsigned int Entier1;
  6. }T_Struct, *T_Struct;


 
Voici un exemple de fichier MyFile.c
 

Code :
  1. #include <stdio.h>
  2. #include "MyFile.h"
  3. int main(void)
  4. {
  5.   T_Struct Elmt1;
  6.   Tp_Struct ElmTp;
  7.   Elmt1.
  8.   return 0;
  9. }


 
Merci d'avance pour vos réponses.
 

Reply

Marsh Posté le 16-06-2007 à 18:12:38   

Reply

Marsh Posté le 16-06-2007 à 19:21:15    

:help new-omni-completion  [:spamafote]


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 17-06-2007 à 22:23:45    

Tout d'abord, je te remercie pour ton aide.
J'ai regardé l'aide sur new-omni-completion mais je n'ai pas réussi à faire apparaitre le nom d'une fonction ou d'un element d'une structure.
 
J'ai crée le fichier de tags en utilsant le ctags comme suit:
  ctags -td MyFile.h MyFile.c
 
As-tu un exemple d'utilsation de la complétion inteligente ? Faut-il parametrer d'autres options ?

Reply

Marsh Posté le 17-06-2007 à 22:43:08    

phdenis a écrit :

Tout d'abord, je te remercie pour ton aide.
J'ai regardé l'aide sur new-omni-completion mais je n'ai pas réussi à faire apparaitre le nom d'une fonction ou d'un element d'une structure.
 
J'ai crée le fichier de tags en utilsant le ctags comme suit:
  ctags -td MyFile.h MyFile.c
 
As-tu un exemple d'utilsation de la complétion inteligente ? Faut-il parametrer d'autres options ?


 
Ben je prends ton .h et ton .c
Je fais ctags toto.h toto.c (avec exuberant-ctags), ca crée un fichier tags
Je lance vim toto.c, je vais après "Elmt1." et fais ctrl x ctrl o.
 
C'est tout  [:spamafote]


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 18-06-2007 à 00:45:59    

Je te remercie encore une fois.
 
Je viens d'essayer depuis  XP en utilisant ma console Cygwin, il semblerait que cela ne marche pas, je vais donc essayer demain sur ma ubuntu en espérant que ca marche mieux.
 

Reply

Marsh Posté le 18-06-2007 à 09:44:48    

Ok moi je vais faire un essai sous cygwin alors.
 
edit : marche pas.
Si je fais un diff des "vim --version" de ma Debian et de cygwin, ca donne ça (vu de la Debian, donc la version cygwin a des - là où j'ai des +)


+balloon_eval  
+browse  
+clientserver
+clipboard  
+dialog_con_gui  
+dnd  
+mouseshape  
+mouse_gpm  
+netbeans_intg  
+perl  
-profile  
+python  
+ruby  
+tcl  
+toolbar  
+X11  
+xim  
+xsmp_interact  
+xterm_clipboard  


Message édité par Xavier_OM le 18-06-2007 à 10:00:50

---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 18-06-2007 à 13:30:05    

Si tu arrives à le faire marcher sous cygwin. Ca m'intéresse.
Si tu peux me dire comment tu as parametrer ton fichier vimrc.
 
Merci encore pour tous.

Reply

Marsh Posté le 18-06-2007 à 21:40:25    

Re,
 
Je viens d'essayer sous Ubuntu et ca marche très bien. Sous Cygwin, je n'ai pas encore réussi à le faire fonctionner.

Reply

Marsh Posté le 19-06-2007 à 09:47:06    

Si tu installes exuberant-ctags ca devrait marcher (je viens de tester)  
Le source est sur sourceforge, ca se  compile/install tout seul sans difficulté, et après ca marche.

 

L'autre condition est d'avoir "filetype plugin on" dans ton .vimrc

 

:hello:


Message édité par Xavier_OM le 19-06-2007 à 09:50:13

---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 19-06-2007 à 13:12:42    

Okay, je te remercie.
Je vais suivre tes indications.
 
Merci pour tous

Reply

Marsh Posté le 19-06-2007 à 13:12:42   

Reply

Marsh Posté le 22-06-2007 à 00:09:02    

Slt,
 
Je viens de faire un essai en utilisant le fichier de tags générés sous ma distrib. Ubuntu dans Windows XP.
Ca marche trés bien; donc tu avais bien raison. C'est un probléme de de version de ctags qui n'est pas à la derniére version sous cygwin.
 
La seule question que je me pose est sur le ctags, j'ai téléchargé l'archive (sous sourceforge.net) et j'ai copié l'exe dans le répertoire /usr/bin (de Cygwin).
Il me semble que si je ne fais pas erreur, on peut aussi compiler le ctags depuis cygwin.
Je me demande si cela est utile ? Et si oui, je suppose que tu lances un des nombreux makefiles.
 
Merci pour tout.

Reply

Marsh Posté le 22-06-2007 à 09:54:05    

Ca doit pas être très différent vu que cygwin peut lancer des .exe windows en plus des binaires compilés pour cygwin...


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 22-06-2007 à 12:49:48    

Oui, donc tu penses que cela n'est pas si nécessaire que ça. As-tu compiler le ctags sur Cygwin ?

Reply

Marsh Posté le 22-06-2007 à 16:54:55    

Oui, mais c'est plus par habitude qu'autre chose en fait  [:spamafote]


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 22-06-2007 à 18:00:36    

Ok, juste à titre informatif et pour ma culture générale.
Tu as téléchargé le fichier suivant "Source and binary for Windows 98/NT/2000/XP ec56w32.zip sur sourceforge.net".
Puis tu l'as ensuite dézippé et tu as lancé le makefile suivant "mk_mingw.mak" ?
 
Car meme en lisant, le fichier d'install, je n'ai pas vraiment vu quel makefile je devais utilisé. :$
 
Merci pour ton aide.

Reply

Marsh Posté le 22-06-2007 à 18:51:23    

phdenis a écrit :

Ok, juste à titre informatif et pour ma culture générale.
Tu as téléchargé le fichier suivant "Source and binary for Windows 98/NT/2000/XP ec56w32.zip sur sourceforge.net".
Puis tu l'as ensuite dézippé et tu as lancé le makefile suivant "mk_mingw.mak" ?
 
Car meme en lisant, le fichier d'install, je n'ai pas vraiment vu quel makefile je devais utilisé. :$
 
Merci pour ton aide.


 
 
Et non, ca ce sont les sources pour compiler sous windows et créer un exécutable windows.
cygwin "simulant" un linux avec sa couche posix et tout, j'ai pris les sources linux (le "Source only distribution (gzipped)" ), j'ai décompressé et fais :

./configure
make
make install


 
Tu peux tester avec les sources d'autres programmes linux, ca marche pas mal :)


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 22-06-2007 à 20:02:58    

Comme tu as pu t'en apercevoir, je suis pas un linuxien. J'ai tendance à penser que c'est du Windows.  
 
En regardant l'installation d'un paquet sous Cygwin/Ubuntu sur le net, je vais enfin comprendre comment on installe un paquet.  :(  
 
Merci pour tous tes conseils et ton aide.  :hello:


Message édité par phdenis le 22-06-2007 à 20:04:38
Reply

Marsh Posté le 01-07-2007 à 16:59:03    

Re,
 
En suivant tout tes conseils, j'ai réussi à faire marcher gvim et la complétion automatique.  
 
Par contre, je viens de m'apercevoir que sur un projet où le fichier de tags est assez conséquent ca met un peu de temps à se charger et à faire dérouler la liste. Aurais-tu une astuce concernant cela ?

Reply

Marsh Posté le 02-07-2007 à 14:59:24    

Je vois pas trop là  :sweat:


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed