Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

taper un antislash dans vim


Sujet :

C

  1. #1
    Membre régulier
    taper un antislash dans vim
    bonjour
    je me lance en C, je vais sûrement avoir plein de petites questions.
    Un truc tout simple tout d'abord, pour mes print("ici\n"); je ne sais pas comment insérer un \ dans vim. Le \ ouvre un dialogue en bas et n'insère pas le caractère.
    Une idée ?
    -----
    enseigner les maths : tout un art
    www.mathoscope.xyz

  2. #2
    Expert éminent sénior
    Bonjour
    Citation Envoyé par elodouwen Voir le message
    Un truc tout simple tout d'abord, pour mes print("ici\n"); je ne sais pas comment insérer un \ dans vim. Le \ ouvre un dialogue en bas et n'insère pas le caractère.
    Une idée ?
    Déjà ce n'est pas le forum "vim" mais le forum "C". Mais enfin...

    Donc "vi" (ou son homologue évolué "vim" ou même le très élégant éditeur graphique "gvim") travaille selon 2 modes
    • le mode "commande" ou certains caractères ont une action spécifique (x supprime un caractère, D supprime la fin de la ligne, etc)
    • le mode "insert" où là les caractères tapés s'insèrent dans le texte

    Quand on ouvre l'éditeur on est en mode "commande". De là on entre dans le mode "insert" par le biais de commandes spécifiques telles que "i" (insérer du texte) ou "o" (ouvrir une nouvelle ligne) ou bien d'autres encore. Là on peut taper ce qu'on veut ça s'insère comme du bête texte. Et on revient au mode "commandes" en tapant sur "esc".
    Et si on ne sait pas dans quel mode on se trouve (pour les vieux "vi") alors on tape sur "esc" car si on était en mode "insert" on passe en mode "commande" et si on était déjà en mode "commande" on y reste. Mais cela n'a plus trop de sens aujourd'hui car tous les "vi" évolués affichent quand ils sont en mode "insert".

    Il existe un 3° mode qui est le dialogue bas de page et qui s'active en tapant sur ":" (et non "\" qui, lui, n'a aucun effet). Et pour la petite histoire, ce mode "dialogue bas de page" permet de taper en fait des commandes "ed" qui est l'éditeur ligne à ligne ancètre de "vi". Ainsi le ":wq" traditionnel correspond à "wq" sous "ed".

    Il existe aussi un mode "recherche" qui s'active en appuyant sur "/" et qui permet de chercher des chaines. Et ce mode "recherche" s'active lui-aussi en bas de la page. Et (pour les puristes) il existe un mode "recherche dans l'autre sens" qui s'active par "?" mais un peu inutile car la commande "n" demande le next dans le même sens et la commande "N" demande le next dans le sens inverse donc "/" suivi de "n" ou "?" suivi de "N" ont alors exactement le même effet (ainsi que "/" suivi de "N" qui sera identique à "?" suivi de "n"). Mais bon, il existe tellement de commandes sous "vi" qu'elles peuvent généralement toutes se substituer les unes aux autres.
    Toutefois si on remarque que "/" et ":" sont sur la même touche d'un clavier ascii, alors on se dira que peut-être tu confonds "/" et "\".

    Donc pour taper "\" (comme "\n"), suffit de passer en mode "insert" en tapant par exemple "i" ou "o" et taper ensuite bêtement "\n". Puis on appuie sur "esc" et on revient au mode "commande" pour ensuite se préparer à faire autre chose.
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

  3. #3
    Membre régulier
    merci de ton mail très détaillé, en fait la confusion venait de ce que sur un clavier mac, le \ s'obtient par la combinaison option shift /, mais dans Ubuntu installé sous virtualbox, seule la touche "option" droite fonctionne et non pas la gauche. Je viens de le découvrir. Sinon j'avais bien compris l'histoire des modes, le souci était dans ce fonctionnement des touches option. Merci de ton rappel détaillé, je ne le garde sous la main.
    -----
    enseigner les maths : tout un art
    www.mathoscope.xyz

###raw>template_hook.ano_emploi###