VIM pour programmer en C ?

Résolu/Fermé
noob.c.vim - 6 août 2010 à 19:45
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 6 août 2010 à 23:44
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 :)


A voir également:

4 réponses

jeanbi Messages postés 15118 Date d'inscription samedi 9 décembre 2006 Statut Contributeur Dernière intervention 6 février 2023 2 177
6 août 2010 à 20:07
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
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
6 août 2010 à 20:13
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
jeanbi Messages postés 15118 Date d'inscription samedi 9 décembre 2006 Statut Contributeur Dernière intervention 6 février 2023 2 177
6 août 2010 à 20:25
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
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
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
6 août 2010 à 20:39
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
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
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
6 août 2010 à 20:50
Re,

Et c'est quoi ton petit problème exactement?
0
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
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
Modifié par lami20j le 6/08/2010 à 21:11
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
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
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
Modifié par lami20j le 6/08/2010 à 21:24
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
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
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
6 août 2010 à 21:41
Re,

Ton erreur est ici

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

il faut mettre *

printf("\n%d\n", *pointeurSurAge); 
0
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