Nous avons vu le strict minimum qu'il faut connaître pour se débrouiller dans Vim. Si ce n'est pas difficile, il faut bien avouer que c'est perturbant. Prenez donc le temps de vous y habituer.
Nous allons aller un peu plus loin ici, et c'est maintenant que vous allez commencer à trouver Vim pratique (et parfois même étonnant). Nous allons faire la majorité de ces actions en mode interactif : appuyez sur la touche
Echap si vous n'y êtes pas déjà.
x : effacer des lettres
Placez le curseur sur une lettre en mode interactif, puis appuyez sur
x pour l'effacer.
Cela revient à appuyer sur "Suppr" en mode insertion.
On peut aller plus loin et effacer plusieurs lettres d'un coup. Pour cela, utilisez la formule suivante :
(nombre)x
Par exemple, si vous tapez
4x (4 puis x), vous supprimerez les 4 prochaines lettres en partant du curseur.
Vous devez taper 4 puis x. Ne vous étonnez pas si rien ne s'affiche à l'écran lorsque vous avez tapé 4, c'est normal. Ecrivez la commande jusqu'au bout, cela fonctionnera.
d : effacer des mots, lignes...
De la même manière, on utilise aussi la touche
d pour supprimer des mots et des lignes.
Commençons par supprimer une ou plusieurs lignes.
dd : supprimer une ligne
Appuyez 2 fois sur d (
dd) pour supprimer toute la ligne sur laquelle se trouve le curseur.
Mieux : vous pouvez faire précéder cette instruction d'un nombre de lignes à supprimer. Par exemple, si vous tapez 2dd, vous supprimerez 2 lignes d'un coup.
Encore une fois, ne vous étonnez pas si, juste après avoir tapé "2", rien ne s'affiche à l'écran. L'information est enregistrée par Vim en mémoire mais l'action ne sera vraiment exécutée que lorsque vous aurez tapé entièrement "2dd".
Note importante : la ligne ainsi supprimée est en fait "coupée" et placée en mémoire. Elle peut être collée, comme on le verra plus loin, avec la touche
p.
dw : supprimer un mot
Placez le curseur sur la première lettre d'un mot. Tapez ensuite
dw (
delete word) : cela supprime le mot en entier !
Si le curseur est positionné au milieu du mot, vous ne supprimerez que les prochains caractères du mot (jusqu'à l'espace qui suit).
Vous pouvez aussi supprimer les 3 prochains mots en tapant
3dw. Notez que le 3 peut être placé entre le d et le w, cela revient au même :
d3w (ce qui peut se lire "
delete 3 words").
d0 et d$ : supprimer le début ou la fin de la ligne
Vous vous souvenez de 0 et $ ? Je vous avais demandé de les utiliser à la place des touches "Origine" et "Fin" car on allait en avoir besoin à nouveau par la suite. Le moment est venu de s'en resservir.
- En tapant d0, vous supprimez du curseur jusqu'au début de la ligne.
- En tapant d$, vous supprimez du curseur jusqu'à la fin de la ligne.
Pratique !
yy : copier une ligne en mémoire
yy copie la ligne actuelle en mémoire.
Cela fonctionne comme
dd qui la "coupe". Vous pouvez aussi utiliser
yw (pour copier un mot),
y$ pour copier du curseur jusqu'à la fin de la ligne, etc.
p : coller
Si vous avez "coupé" du texte avec
dd ou copié du texte avec
yy (ou un de leurs équivalents) vous pouvez ensuite le coller avec la touche
p.
Attention, retenez bien ceci : si vous avez copié une ligne en mémoire et que vous appuyez sur "p", elle sera collée sur la ligne située après le curseur.
On est parfois surpris de voir où se colle le texte, donc prenez le temps de vous y habituer.
Vous pouvez aussi coller plusieurs fois un texte en faisant précéder le "p" d'un nombre. Par exemple,
8p collera 8 fois le texte en mémoire.
Si je place mon curseur sur une ligne, que je tape
yy puis
8p, je la collerai donc 8 fois !
r : remplacer une lettre
Si vous avez fait une faute sur seulement une lettre, vous pouvez passer en mode remplacement.
Placez le curseur sur la lettre à remplacer. Tapez r suivi de la lettre que vous voulez mettre à la place. Par exemple,
rs remplace la lettre actuelle par un "s".
Si vous utilisez un R majuscule, cette fois vous basculerez dans le mode remplacement : vous pourrez remplacer plusieurs lettres à la fois. Vous pouvez par exemple écrire
Rbonjour pour remplacer les caractères par "bonjour".
Pour revenir au mode interactif normal, appuyez sur
Echap.
u : annuler les modifications
Pour annuler vos dernière modifications, appuyez sur
u (
undo). Si vous souhaitez annuler vos 4 dernières modifications, appuyez sur
4u (vous commencez à connaître la formule, c'est toujours la même

).
Pour répéter un changement (= annuler une annulation), appuyez sur
Ctrl + R.
G : sauter à la ligne n°X
Toutes les lignes d'un fichier ont un numéro. La numérotation commence à 1.
Regardez bien en bas à droite de Vim, vous devriez voir quelque chose comme 4,3. 4 correspond au numéro de la ligne sur laquelle se trouve le curseur, et 3 correspond au numéro de la colonne (3ème lettre de la ligne).
Vous pouvez directement sauter à la ligne n°7 par exemple en tapant
7G (attention, c'est un G majuscule, donc pensez à laisser la touche "Maj" appuyée).
Pour sauter à la dernière ligne, tapez simplement
G.
Pour revenir à la première ligne, tapez
gg.