Comprendre vi et ses commandes de base
Auteur : Rédaction Domeny.ForSale Publié le
En bref : vi est un éditeur de texte utilisé dans le terminal, principalement sur les systèmes Unix et Linux. Il se commande au clavier, et la fonction des touches dépend du mode actif. Pour commencer à écrire, appuyez sur i ; pour enregistrer le fichier et quitter, appuyez sur Esc, saisissez :wq et validez avec Entrée. Pour quitter sans enregistrer les modifications, appuyez sur Esc, puis saisissez :q! et appuyez sur Entrée.
À quoi sert vi ?
vi permet de modifier des fichiers de texte brut : configurations de programmes, scripts, code source ou notes. Ce n’est pas un logiciel de traitement de texte comme Word : il ne sert pas à choisir des polices, à mettre en page des documents ou à insérer des illustrations. Il agit sur le contenu du fichier, sans mise en forme supplémentaire du document.
Il est particulièrement utile pour travailler sur un serveur via SSH, une connexion chiffrée à un autre ordinateur. Lorsque vous n’avez accès qu’au terminal, vous pouvez modifier un fichier sans lancer d’environnement graphique ni le télécharger sur votre ordinateur.
L’éditeur vi, ou un éditeur compatible, est disponible dans de nombreux environnements Unix. Ne présumez toutefois pas qu’il sera présent dans chaque installation : une image minimale de système ou de conteneur peut ne contenir aucun éditeur.
Pourquoi vi utilise-t-il différents modes ?
Dans un éditeur classique, appuyer sur une lettre l’ajoute immédiatement au texte. Dans vi, après l’ouverture d’un fichier, vous êtes généralement en mode normal, aussi appelé mode commande. Les lettres servent alors à se déplacer dans le fichier, à supprimer du texte ou à effectuer d’autres opérations.
Pour débuter, il suffit de distinguer trois modes d’utilisation :
- Mode normal : vous exécutez des commandes ; par exemple,
ddsupprime la ligne courante. La toucheEscpermet de revenir à ce mode. - Mode insertion : vous saisissez du texte. Depuis le mode normal, la touche
iactive l’insertion avant le curseur. - Ligne de commande : après avoir appuyé sur
:en mode normal, vous saisissez une commande, par exemple:wpour enregistrer le fichier. Vous l’exécutez avec Entrée.
Cette distinction explique une surprise fréquente chez les débutants : ils appuient sur des lettres, mais au lieu d’écrire, ils déplacent le curseur ou modifient le texte existant. Si vous ne savez pas dans quel mode vous êtes, appuyez sur Esc. Choisissez ensuite l’action à effectuer.
Modifier un premier fichier, étape par étape
Le plus sûr est de vous exercer sur un nouveau fichier plutôt que sur la configuration d’un service en fonctionnement. Dans le terminal, exécutez :
vi note.txt
Si le fichier existe, l’éditeur ouvre son contenu. Sinon, il prépare un nouveau document en mémoire ; le fichier ne sera créé sur le disque qu’une fois l’enregistrement réussi.
- Appuyez sur
ipour passer en mode insertion. - Saisissez une phrase, par exemple
Ceci est ma première note. - Appuyez sur
Escpour terminer la saisie. - Saisissez
:wqet appuyez sur Entrée.
Après l’enregistrement du fichier et la fermeture de l’éditeur, vous revenez au shell, le programme qui reçoit les commandes dans le terminal. Vous pouvez exécuter à nouveau vi note.txt pour vérifier le contenu.
Pour enregistrer votre travail tout en continuant à modifier le fichier, utilisez :w. La commande :q seule ferme l’éditeur, à condition qu’aucune modification non enregistrée ne nécessite une décision de votre part. La commande :q! abandonne les modifications non enregistrées : elle ne supprime pas le fichier existant sur le disque.
Les commandes de base pour travailler plus facilement
Exécutez les commandes ci-dessous en mode normal. Les deux-points et la barre oblique ouvrent une saisie de commande, que vous validez avec Entrée ; les autres raccourcis fonctionnent sans cette validation.
| Commande | Action |
|---|---|
h, j, k, l | Déplacement respectivement vers la gauche, le bas, le haut et la droite |
0 | Aller au début de la ligne |
$ | Aller à la fin de la ligne |
x | Supprimer le caractère sous le curseur |
dd | Supprimer la ligne courante |
u | Annuler la dernière modification |
/recherche texte | Rechercher du texte en direction de la fin du fichier |
n | Répéter la recherche dans le même sens |
:25 | Aller à la ligne numéro 25 |
Par exemple, pour trouver le paramètre timeout, appuyez sur Esc, saisissez /timeout et validez avec Entrée. La touche n permet de passer à l’occurrence suivante. C’est plus pratique que de parcourir manuellement un long fichier de configuration.
vi et Vim sont-ils le même programme ?
Non. Vim, dont le nom signifie Vi IMproved (« vi amélioré »), est un éditeur distinct qui reprend et enrichit le fonctionnement de vi. Il offre des fonctionnalités supplémentaires, comme une coloration syntaxique plus poussée, des extensions ou l’annulation de plusieurs modifications successives.
Sur certains systèmes, la commande vi lance en réalité Vim ou un autre éditeur compatible. L’apparence de l’écran et les extensions disponibles peuvent donc varier. Les commandes de base présentées ici sont communes à ces éditeurs, mais tous les tutoriels consacrés à Vim ne s’appliquent pas intégralement au vi classique.
Avant de modifier une configuration importante, faites-en une copie. Si l’enregistrement échoue à cause des permissions, ajouter ! ne vous donnera pas les droits nécessaires sur le fichier. Commencez par vous exercer sur une note personnelle. Après avoir modifié une configuration, vérifiez-la avec l’outil de validation du service concerné, s’il en propose un.
Voir aussi : Qu’est-ce que GitLab ?
