Vim un éditeur modal disponible en ligne de commandes sur les terminaux Linux et Unix.
Mais débuter sur vim n’est pas forcément simple car c’est un éditeur de texte modal.
Cela peut dérouter beaucoup d’utilisateurs.
Pourtant vim est un éditeur de texte très puissant avec lequel vous pouvez effectuer énormément de choses.
Dans ce tutoriel, je vous propose les bases de vim à connaître pour apprendre et débuter dans l’utilisation de vim.
En suivant ce dernier, vous aurez le minimum de connaissances pour utiliser l’éditeur de texte.
Table des matières
Principe générale de vim
Vim est différent des éditeurs de texte Linux traditionnels.
Il propose plusieurs modes pour répondre à ce besoin. Chaque mode fait quelque chose de différent et est contrôlé par des frappes de touches. Les modes essentiels de Vim sont le mode normal, le mode visuel, le mode insertion et le mode commande.
Nous utilisons le mode normal pour réviser le texte ou code et effectuer des opérations rapides. Le mode visuel est utilisé pour mettre en évidence les sections de texte, et le mode insertion permet d’ajouter des textes. Vous utiliserez le mode commande pour saisir diverses commandes vim.
De plus, comme beaucoup d’éditeurs en mode console, vim encourage les utilisateurs à ne pas utiliser la souris. Vous pouvez cependant configurer vim pour activer le support de la souris.
Pour cela, il offre de nombreux opérateurs (sortent de commandes) que vous pouvez utiliser pour effectuer n’importe quelle action.
Quelques bases à savoir :
- En appuyant sur la touche d’échappement, cela vous sort de n’importe quel mode, vous reviendrez au mode normal
- Les opérateurs s’utilisent directement. Par exemple l’opérateur d pour delete permet de supprimer ou couper un caractère, mot, paragraphe, section. L’opérateur y (yanking) permet de copier, etc
- Les commandes nécessitent d’utiliser le mode commande via la touche :
Comment ouvrir un fichier texte sur vim
Cela ne devrait pas poser de problème mais voici de tout de même quelques explications pour ouvrir un fichier en édition sur vim.
Lancez le terminal et exécutez la commande suivante.
vim
Cela ne fera que lancer l’éditeur. Si vous voulez éditer un fichier texte avec Vim, exécutez la commande suivante.
vim /chemin/fichier
Par exemple pour éditer le fichier mak.txt qui se trouve dans votre /home :
vim ~/mak.txt
Et si vous désirez éditer plusieurs fichiers, il vous suffit de spécifier les noms.
vim <fichier1> <fichier2> … <Fichiern>
Les modes de vim
Vi est un éditeur modal.
Il existe de nombreux modes selon vos besoins.
Voici la liste des opérateurs pour changer de modes.
i | Mode d’insertion au niveau du curseur. |
I | Mode insertion en début de ligne. |
a | Mode Insertion après le curseur. |
A | Mode insertion en fin de ligne. |
o | Mode Insertion avec une nouvelle ligne en dessous. |
O | Mode Insertion avec une nouvelle ligne au-dessus. |
s | Mode insertion au niveau du curseur, après suppression du caractère courant. |
S | Mode insertion, après suppression de la ligne courante. |
v | Mode visuel au curseur. |
V | Mode visuel en début de ligne. |
r | Remplacer le mode pour remplacer le caractère actuel. |
R | Remplacer le mode. |
Echap/ESC | Mode normal ou mode de commande. |
Le mode commande
Dans ce mode, vous pouvez passer des commandes dans vim.
Le mode commande dispose d’une grande variété de commandes et peut faire des choses que le mode normal ne peut pas faire aussi facilement. Pour entrer en mode commande, tapez : à partir du mode normal, puis tapez votre commande qui devrait apparaître au bas de la fenêtre.
On accède au mode commande en utilisant la touche Echap .
Le mode normal
Le mode normal est celui où vous pouvez utiliser la plupart des raccourcis.
C’est le mode qui s’ouvre par défaut lorsque vous éditez un fichier avec vim.
Le mode insertion (ou édition)
Le mode insertion est le mode classique d’un éditeur de texte à partir duquel vous pouvez modifier le fichier texte ouvert.
Vous pouvez modifier un texte, ajouter du texte, etc.
Vim passe en mode édition lorsque vous appuyez sur une touche de texte du clavier, sinon utilisez la commande I ou i (i de insert).
L’indication — INSERTION — apparaît en bas à gauche de l’écran.
Le mode visuel
Par défaut, Vim ne permet aucune interaction avec la souris. Cependant, il existe le mode visuel qui permet de sélectionner facilement un morceau de texte. En fait, c’est la SEULE façon dont Vim permet de sélectionner les textes sans aucun raccourci clavier.
Pour passer en mode visuel, utilisez la touche v du clavier.
Le mode remplacement
En mode remplacement, les textes existants sont remplacés ou écrasés au fur et à mesure que vous tapez.
Comment se déplacer dans vim
En mode normal, il existe plusieurs façons de se déplacer dans un fichier ouvert.
En plus d’utiliser les touches du curseur pour vous déplacer, vous pouvez également utiliser h (gauche), j (bas), k (haut) et l (droite) pour vous déplacer. Cela aide particulièrement les dactylographes qui n’aiment pas quitter la ligne d’origine lorsqu’ils effectuent des modifications.
Vous pouvez également apporter des modifications à des caractères uniques en mode normal. Par exemple, pour remplacer un caractère unique, placez votre curseur dessus et appuyez sur r, puis sur le caractère par lequel vous souhaitez le remplacer. De même, vous pouvez supprimer un caractère unique en plaçant votre curseur dessus et en appuyant sur x.
Pour effectuer une annulation, appuyez sur uen mode normal. Vous annulez ainsi les modifications jusqu’à la dernière fois où vous étiez en mode normal. Si vous voulez refaire (c’est-à-dire annuler votre annulation), appuyez sur CTRL + r
Les raccourcis de déplacement dans vim
Voici un résumé des raccourcis et commandes essentiels pour se déplacer dans vim :
Raccourcis | Description |
h | Aller d’un caractère vers la gauche |
l | Se déplacer d’un caractère vers la droite |
j ou Ctrl + J | Sauter d’une ligne vers le bas |
k , Ctrl + P | Pour remonter d’une ligne |
0 | Pour aller au début de la ligne |
$ | Pour aller à la fin de la ligne |
w | Aller au mot alphanumérique suivant |
W | Aller au mot suivant (délimité par un espace) |
3w | Avance de 3 mots |
b | Retourne d’un mot alphanumérique en arrière |
B | Revenir en arrière d’un mot (délimité par un espace) |
5b | Revenir à 5 mots en arrière |
gg | Début du fichier |
G | Fin du fichier |
Voici d’autres raccourcis utiles de navigation vim pour passer d’une phrase ou paragraphe suivant ou précédent.
Raccourcis | Description |
( | Aller à la phrase précédente |
) | Aller à la phrase suivante |
{ | Aller au paragraphe précédent |
} | Aller au paragraphe suivant |
] | Aller à la section suivante |
[ | Aller à la section précédente |
Comment modifier le texte dans vim
Entrez dans le mode d’édition en appuyant sur “i”, ce qui permet de basculer dans le “mode d’insertion”.
i
Pour sortir du mode “Insertion”, appuyez sur Echap.
Voici quelques-unes des façons spéciales de lancer le “mode Insertion”.
Raccourcis | Description |
a | Insérer du texte juste après le curseur |
A | Insertion de texte à la fin de la ligne actuelle |
o | Nouvelle ligne sous le curseur |
O | Nouvelle ligne au-dessus du curseur |
Maintenant, souhaitez vous inclure des données provenant d’une autre source ? Par exemple, la sortie d’une commande ou le contenu d’un autre fichier texte ? Vim vous permet de le faire grâce à ces raccourcis intégrés.
Utilisez la commande suivante pour injecter le contenu d’autres fichiers texte dans la position actuelle du curseur.
:r <fichier>
Vous avez besoin de la sortie d’une commande ? Utilisez celle-ci.
:r! <commande>
Quels sont les raccourcis et commandes vim ?
Vous l’aurez compris, vim possède des dizaines et dizaines de commandes et raccourcis clavier pour effectuer toutes les actions souhaitées.
Cela en fait un éditeur très puissant.
Le tutoriel suivant vous donne la liste COMPLETE des commandes vim :
Comment enregistrer et sortir de vim
Après avoir modifié ou créé son fichier texte, on souhaite enregistrer et quitter vim.
Voici comment faire.
Pour enregistrer un fichier, utilisez la commande suivante :
:w
Pour quitter, utilisez la commande suivante :
:q
Vous pouvez combiner les deux commandes comme ceci :
:wq
Bien entendu, il est aussi possible d’enregistrer-sous, cela est expliqué dans le tutoriel suivant :