L’éditeur vi peut sembler intimidant si vous n’êtes pas familier avec son fonctionnement. Il existe une astuce spécifique pour s’échapper de cette application lorsque vous vous y retrouvez piégé. Voici comment quitter vi ou vim sous Linux, macOS ou tout autre système de type Unix.
La méthode rapide
Si vous êtes coincé dans vi ou vim et que vous avez besoin de vous en sortir, que ce soit en enregistrant vos modifications ou non, voici la marche à suivre:
Premièrement, appuyez sur la touche Échap plusieurs fois. Cela garantit que vi n’est plus en mode Insertion, mais en mode Commande. Ensuite, tapez la commande: q!
et appuyez sur Entrée. Cela indique à vi de quitter sans sauvegarder les modifications. Si vous désirez sauvegarder vos changements, saisissez plutôt: wq
.
Si votre objectif est de maîtriser la ligne de commande Linux, vous devrez apprendre beaucoup plus de choses. Continuez votre lecture, nous allons vous expliquer comment vi fonctionne et pourquoi les instructions pour le quitter sont si particulières. vi est un outil puissant et important, et l’effort d’apprentissage en vaut la peine.
vi, l’éditeur universel
Étant donné que vi est disponible partout, vous êtes susceptible de le rencontrer un jour. Il est même possible de se retrouver à l’intérieur de vi par inadvertance. Il se peut qu’on vous demande de vérifier un ordinateur Linux à la place de quelqu’un. Vous lancez une commande comme crontab -e
, et vi s’ouvre. Surprise, quelqu’un a configuré l’éditeur par défaut de crontab pour que ce soit vi.
Vous pouvez également être amené à administrer un système où vi est le seul éditeur disponible, ou le seul qui fonctionne via une session SSH à distance, et vous devez modifier le fichier .bashrc
d’un utilisateur.
La commande pour lancer vi et ouvrir un fichier est simple. Tapez vi
, un espace, puis le nom du fichier. Appuyez sur Entrée. Le programme exécuté peut être vi ou vim, une version «vi améliorée». Cela dépend de votre distribution Linux; par exemple, Ubuntu utilise vim. Toutes les instructions de cet article s’appliquent également à vim.
vi .bashrc
La différence la plus notable entre vi et d’autres éditeurs est qu’au lancement de vi, vous ne pouvez pas simplement commencer à saisir du texte. Cela est dû au fait que vi est un éditeur modal. L’édition s’effectue dans un mode spécifique, le mode Insertion, et l’émission de commandes se fait en mode Commande. vi démarre par défaut en mode Commande.
Si vous n’êtes pas familier avec le concept de mode Insertion et mode Commande, cela peut être source de confusion. Un grand nombre des commandes que vous pouvez émettre en mode Commande affectent le fichier que vous êtes en train de modifier. Si vous êtes en mode Commande mais essayez par erreur de saisir du texte dans votre fichier, cela ne se passera pas bien. Certaines des frappes seront interprétées comme des commandes. Ces commandes risquent de supprimer ou de diviser des lignes, de déplacer le curseur ou de supprimer du texte.
De plus, peu importe ce que vous tapez, vous ne trouverez pas comment fermer ou quitter l’éditeur. Pendant ce temps, votre fichier est altéré et les bips aléatoires vous exaspèrent.
Mode Commande et Mode Insertion
Vous devez basculer vi dans le mode approprié en fonction de ce que vous voulez faire.
Le mode Commande est le mode par défaut au démarrage de vi. Si vous ne connaissez pas le fonctionnement de vi, vous tenterez probablement de commencer à taper. Si vous appuyez sur la touche ‘i’, ou sur une des 10 autres touches qui activent le mode Insertion (a, A, c, C, I, o, O, R, s et S), vous verrez soudainement apparaître ce que vous tapez à l’écran. Vous êtes désormais en mode Insertion.
Cela peut sembler être une amélioration jusqu’à ce que vous appuyiez sur l’une des touches fléchées. Si vous faites cela, les lettres A, B, C ou D apparaîtront comme seule lettre sur une nouvelle ligne, sinon vide, en haut du fichier.
Ne vous inquiétez pas, nous sommes là pour vous aider. C’est étonnamment simple une fois qu’on sait comment faire. Retenez ces deux touches: Échap vous ramène en mode Commande et « i » vous fait passer en mode Insertion.
Vous devez vous trouver en mode Commande et saisir la commande appropriée pour quitter l’éditeur.
Du mode Commande vers la sortie
Pour passer en mode Commande, appuyez sur la touche Échap. Rien de visible ne se produira à l’écran. Appuyez dessus encore quelques fois. Si vous entendez un bip lorsque vous pressez la touche Échap, vous êtes en mode Commande. Le bip vous indique « Arrêtez d’appuyer sur Échap, vous êtes déjà en mode Commande. » Si vous entendez un bip, c’est que tout va bien.
Saisissez deux points, la lettre « q » et un point d’exclamation, sans espace. Ces trois caractères doivent apparaître à l’extrême gauche de la dernière ligne de la fenêtre du terminal. Si ce n’est pas le cas, appuyez sur Échap jusqu’à ce que vous entendiez un bip, puis réessayez. Appuyez sur la touche Entrée lorsque vous les voyez à l’écran:
:q!
Dans cette commande, q est l’abréviation de quitter. Le point d’exclamation ajoute de l’emphase, c’est comme si vous criiez « Arrêtez! » à vi. Cela peut vous faire sentir un peu mieux.
Le point d’exclamation indique également à vi de ne pas enregistrer les modifications que vous pourriez avoir apportées au fichier. Si vous avez fait des erreurs dans vi et que vous ne savez pas ce que vous faites, il est probable que vous ne souhaitiez pas enregistrer les dégâts que vous avez causés.
Une fois de retour à la ligne de commande, vous voudrez peut-être vérifier si le fichier n’a pas été modifié. Vous pouvez le faire à l’aide de la commande suivante:
cat .bashrc | less
Quand vous quittez vi, si vous voyez un message indiquant « pas d’écriture depuis la dernière modification », cela signifie que vous avez oublié le point d’exclamation dans la commande. Afin d’éviter de quitter l’éditeur et de perdre des modifications que vous souhaitez conserver, vi vous offre la possibilité de les sauvegarder. Il vous suffit de rééditer la commande: q!
avec le point d’exclamation pour quitter vi sans enregistrer les changements.
Si vous êtes sûr, sauvegardez vos modifications
Si vous êtes satisfait des modifications que vous avez apportées à votre fichier, vous pouvez quitter et enregistrer les changements en utilisant la commande: wq
(write and quit, écrire et quitter). Assurez-vous que vous êtes certain de vouloir que les changements affichés à l’écran soient enregistrés dans le fichier avant de continuer.
Tapez deux points, la lettre w (écrire) et la lettre q (quitter). Appuyez sur la touche Entrée lorsque vous pouvez les visualiser dans le coin inférieur gauche de la fenêtre du terminal:
:wq
L’apprentissage en vaut la peine
L’utilisation de vi est un peu comme l’apprentissage du piano. Vous ne pouvez pas vous asseoir et l’utiliser spontanément ; vous devez vous exercer. Essayer d’apprendre à la volée lorsque vous êtes sous pression pour modifier quelque chose n’est pas la meilleure approche. C’est comparable à s’asseoir devant un piano pour la première fois au moment où le rideau se lève pour votre premier concert.
Une grande partie de la puissance de vi provient de ses nombreuses combinaisons de touches, chacune effectuant une tâche d’édition spécifique. C’est formidable, mais vous ne pouvez en bénéficier que lorsque vous les avez mémorisées, pratiquées, et qu’elles sont ancrées dans votre mémoire musculaire.
En attendant, si vous vous retrouvez bloqué dans vi et que vous regardez un fichier important, saisissez simplement: q!
et sortez en toute sérénité. Votre fichier important vous en remerciera.