VIM pour programmer en C ?

Résolu
noob.c.vim -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

j'aimerais juste savoir si il y a des limitations (si on exclut lergonomie bien sur) a programmer du C avec vim

je demande car jai commencer a apprendre le C sur VIM avec un tuto fait pour CodeBlock
et bien que tres tres generalement toutes les instructions sont identiques il arrive que je tombe sur des trucs totalement different et la je galere des heures sur google pour chercher des explications

donc en fait je me demandais si cetais pour m'arriver souvent

jvous remercie davance :)

4 réponses

  1. jeanbi Messages postés 15399 Date d'inscription   Statut Contributeur Dernière intervention   2 383
     
    bonjour
    pourquoi VIM ..
    emacs
    ou
    meme
    gedit nou kate sont quand meme plus conviviale il suffit de leur dire ce que l'on veut programmer pour avoir la couleur etc..
    tu doit etre un peu mazo
    a+
    0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    tu doit etre un peu mazo
    Alors il y a au moins deux.
    Franchement je ne donne pas Vim pour emacs ou gedit ou kate (bon si je ne fait pas de la programmation je préfère Kate à Vim ;-)))
    0
    1. jeanbi Messages postés 15399 Date d'inscription   Statut Contributeur Dernière intervention   2 383
       
      re,
      mal exprimer peu etre , le mazo est pour cela
      car jai commencer a apprendre le C sur VIM avec un tuto fait pour CodeBlock 

      d'ou ma reflexion entre vim et gedit

      a+
      0
    2. noob.c.vim
       
      ah pour ca ...
      dsl javais mal compris ..

      mais non je ne considere pas ca comme du masochisme etant donner la facilite que jai eu jusqua date. Comme je lai deja dit tout est pratiquement semblable (bon sauf quelques exeptions)

      et de plus je crois pas qu'il y ait de tutos aussi facilement assimilable que ceux du SDZ version VIM
      0
    3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Re,

      mal exprimer peu etre
      J'ai oublié de mettre un smiley ;-), pas de problèmes pour moi, je reste avec Vim de toute façon ;-))
      0
    4. noob.c.vim
       
      mais toi lami20j comme tu as lair de programmer avec VIM (bon je sait pas si tu fait du C) mais tu pourrais m'aider avec mon ptit probleme ??
      0
    5. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Re,

      Et c'est quoi ton petit problème exactement?
      0
  3. noob.c.vim
     
    mouais je crois bien que je suis un peu mazo :)

    mais je doit avouer que jai aussi bcp de tendances old school et jai trouver le petit tuto sur les hotkeys terriblement cool :)
    aussi jadoooore le look totalement epurer

    et du coups je ne voyais pas d'inconvenient a utiliser VIM si ce nest que la prise en main est toute sauf instinctive (malgre que jai appris a le manipuler quand meme asser rapidement)
    mais bon la je commence a serieusement me poser des question car il ya quelques divergences de sintaxe par rapport au tutos que je lis qui me font galerer

    donc je n'esiterai pas a aller voir les ide que tu as citer plus haut si je trouve pas de solution a mes problemes, meme si je doit avouer que ca me ferais de la peine de m'etre familiariser avec VIM pour rien

    @+
    0
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Lit man 3 printf

    p       L'argument pointeur, du type void * est affiché en hexadécimal, comme avec %#x ou %#lx. 


    Avec %p tu affiche l'adresse pas la valeur contenu par variable sur la quelle pointe ton pointeur

    Voici pour voir

    lami20j@debian-acer:/mnt/sda7$ cat age.c   
    #include<stdio.h>  
    #include<stdlib.h>  
    
    int main()  
    {  
      int age = 20;  
      int *pointeurSurAge = &age;  
    
      printf("%d\n", *pointeurSurAge);   
      printf("%p\n", pointeurSurAge);   
      return EXIT_SUCCESS;  
    }  
    
    lami20j@debian-acer:/mnt/sda7$ gcc -Wall age.c   
    lami20j@debian-acer:/mnt/sda7$ ./a.out  
    20  
    0xbff4a748  
    


    Mais comme je te l'ai déjà dit, ça ce n'est pas un problème de Vim, ça n'a rien à avoir. Il s'agit de comprendre le C
    GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
    106485010510997108
    0
    1. noob.c.vim
       
      ouais ca je l'avait compris

      mais ce que je comprend pas c'est pourquoi ca plante avec VIM quand j'essaie d'obtenir la valeur de pointeurSurAge (qui est suposer etre l'adresse de age) en ecrivant :

      printf("%d", pointeurSurAge);

      quand ca fonctionne impecablement sur code::block
      0
    2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Re,

      Ca n'a rien avoir avec VIM.
      Avec VIM tu ne fait qu'écrire le fichier.

      Montre ce que tu fais, étape par étape.

      Code::Blocks est un IDE pas un éditeur de texte
      0
    3. noob.c.vim
       
      ouais j,avoue que le probleme a bcp plus de chances de venir du compilateur que de l,editeur de texte...

      mais bon voici ce que je fais etapes par etapes

      1. j"ouvre VIM et j'ecris mon ptit bout de code problematique comme ca :

      #include <stdio.h>
      #include <stdlib.h>

      int main(int argc, char *argv[])
      {

      int age = 20;
      int *pointeurSurAge = &age;

      printf("\n%p\n", &age);
      printf("\n%d\n", pointeurSurAge);

      return;
      }


      2.
      apres je sauvegarde et je quitte :wq test.c

      3.
      puis finalement je compile comme ca

      pigeon@pigeon-laptop:~/Documents/C.prog$ gcc test.c

      4.
      et j'obtien :

      test.c: In function `main':
      test.c:9: warning: format `%d' expects type `int', but argument 2 has type `int *'


      en passant merci pour ton aide soutenue :)
      c'est treeeeeees apprecier
      0
    4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Re,

      Ton erreur est ici

      printf("\n%d\n", pointeurSurAge);

      il faut mettre *

      printf("\n%d\n", *pointeurSurAge); 
      0
    5. noob.c.vim
       
      bon tes pas le premier qui me dit ca mais si je fait ca :

      #include <stdio.h>
      #include <stdlib.h>

      int main(int argc, char *argv[])
      {

      int age = 20;
      int *pointeurSurAge = &age;

      printf("\n%p\n", &age);
      printf("\n%d\n",*pointeurSurAge);
      return;
      }

      quand je compile ca donne :

      pigeon@pigeon-laptop:~/Documents/C.prog$ gcc test.tableau.c
      pigeon@pigeon-laptop:~/Documents/C.prog$ ./a.out

      0xbff5f21c

      20

      Ce qui n"est pas du tout ce que je veut afficher car 20 c'est la valeur de age
      et moi je veut la valeur de pointeurSurAge (qui est suppose etre 0xbff5f21c)
      0