Comment quitter l’éditeur Vi ou Vim

L’éditeur vi est déroutant si vous n’y êtes pas habitué. Il faut une poignée de main secrète pour échapper à cette application si vous y êtes tombé. Voici comment quitter vi ou vim sous Linux, macOS ou tout autre système de type Unix.

La réponse rapide

Si vous êtes dans vi ou vim et que vous avez besoin de sortir, avec ou sans enregistrer vos modifications, procédez comme suit:

Tout d’abord, appuyez plusieurs fois sur la touche Echap. Cela garantira que vi est hors du mode Insertion et en mode Commande.
Deuxièmement, tapez: q! et appuyez sur Entrée. Cela indique à vi de quitter sans enregistrer les modifications. (Si vous souhaitez enregistrer vos modifications, saisissez plutôt: wq.)

Si vous voulez apprendre la ligne de commande Linux, vous aurez besoin d’en savoir beaucoup plus que cela. Continuez à lire et nous vous montrerons comment fonctionne vi et pourquoi les instructions pour arrêter de fumer sont si inhabituelles. vi est un outil important et puissant et la courbe d’apprentissage en vaut la peine.

vi, l’éditeur omniprésent

Parce que vi est partout, il y a de fortes chances que vous vous heurtiez à lui. Vous pouvez même vous retrouver à l’intérieur de vi par accident. Peut-être que quelqu’un vous demande de regarder leur ordinateur Linux à leur place. Vous émettez une commande comme crontab -e, et vi apparaît. Surprise, quelqu’un a configuré l’éditeur par défaut de crontab pour qu’il soit vi.

Peut-être que vous administrez un système où vi est le seul éditeur, ou le seul qui fonctionnera via une session SSH distante, et vous devez modifier le fichier .bashrc d’un utilisateur.

La commande pour démarrer vi et ouvrir un fichier est simple. Tapez vi, un espace, puis le nom du fichier. Appuyez sur Entrée. Le programme lancé peut être vi ou vim, un «vi amélioré». 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 immédiatement perceptible entre vi et les autres éditeurs est que lorsque vi démarre, vous ne pouvez pas simplement commencer à taper du texte. C’est parce que vi est un éditeur modal. L’édition est effectuée dans un mode, le mode Insertion, et l’émission de commandes est effectuée en mode Commande. vi se lance en mode Commande.

Si vous ne connaissez pas le concept du mode Insertion et du mode Commande, cela peut être déroutant. Un grand nombre des commandes que vous pouvez émettre en mode Commande affectent le fichier que vous tapez. Si vous êtes en mode Commande mais que vous essayez par erreur de taper du texte dans votre fichier, cela ne se terminera pas bien. Certaines des frappes que vous émettez seront reconnues comme des commandes. Ces commandes sont susceptibles de supprimer ou de fractionner des lignes, de déplacer le curseur ou de supprimer du texte.

Et, peu importe ce que vous tapez, vous ne pouvez pas trouver un moyen de quitter ou de quitter l’éditeur. Pendant ce temps, votre fichier se déforme et les bips apparemment aléatoires vous rendent fou.

Mauvaise tentative d'édition dans vi

Mode de commande et mode d’insertion

Vous devez basculer vi dans le mode approprié pour ce que vous essayez d’accomplir.

Le mode de commande est le mode par défaut au lancement de vi. À moins que vous ne sachiez mieux, vous commencerez à essayer de taper. Si vous appuyez sur la touche ‘i’, ou sur l’une des 10 autres touches qui invoquent le mode d’insertion (a, A, c, C, I, o, O, R, s et S), vous verrez soudainement ce que vous tapez. Vous êtes maintenant en mode Insertion.

Cela peut sembler être une progression jusqu’à ce que vous appuyiez sur l’une des touches fléchées. Si vous faites cela, A, B, C ou D apparaîtra comme la seule lettre sur une nouvelle ligne autrement vierge. En haut du fichier.

C’est bon, nous sommes là pour vous. C’est étonnamment facile quand on sait comment. Rappelez-vous ces deux touches: Echap vous amène en mode Commande et «i» vous amène en mode Insertion.

Vous devez être en mode Commande et entrer la commande correcte pour quitter l’éditeur.

Du mode commande à la sécurité

Pour entrer en mode Commande, appuyez sur la touche Échap. Rien de visible ne se produira. Frappez-le encore quelques fois. Si vous entendez un bip lorsque vous appuyez sur la touche Échap, vous êtes en mode Commande. Le bip vous dit « Arrêtez d’appuyer sur Echap, vous êtes déjà en mode Commande. » Si vous entendez un bip lorsque vous appuyez sur Echap, tout va bien.

Tapez deux points, la lettre «q» et un point d’exclamation, sans aucun espace. Ces trois caractères doivent apparaître à l’extrême gauche de la ligne inférieure du terminal. Si ce n’est pas le cas, appuyez sur Echap jusqu’à ce que vous entendiez un bip, puis réessayez. Appuyez sur la touche Entrée lorsque vous pouvez les voir:

:q!

: q! commande en vi

Dans cette commande, q est une abréviation pour quitter. Le point d’exclamation ajoute de l’emphase, c’est comme si vous criiez « Arrêtez! » à vi. Cela pourrait vous faire vous sentir un peu mieux.

Le point d’exclamation indique également à vi de ne pas enregistrer les modifications que vous avez peut-être apportées au fichier. Si vous vous êtes trompé dans vi et que vous ne savez pas ce que vous faites, vous ne voulez probablement pas sauver les ravages que vous avez causés.

Une fois que vous êtes de retour à la ligne de commande, vous voudrez peut-être revérifier pour vous assurer que le fichier n’a pas été modifié. Vous pouvez le faire avec la commande suivante:

cat .bashrc | less

.bashrc en moins

Lorsque vous quittez vi, si vous voyez un message disant «pas d’écriture depuis la dernière modification», cela signifie que vous avez manqué le point d’exclamation de la commande. Pour vous éviter de quitter et de perdre les modifications que vous souhaiteriez conserver, vi vous donne la possibilité de les enregistrer. Il suffit de rééditer le: q! commande avec le point d’exclamation en place pour quitter vi et abandonner toutes les modifications.

aucune écriture depuis le dernier message de modification

Si vous êtes sûr, enregistrez vos modifications

Si vous êtes satisfait des modifications que vous avez apportées à votre fichier, vous pouvez quitter et enregistrer les modifications à l’aide de la commande: wq (écrire et quitter). Assurez-vous que vous êtes entièrement satisfait que vous souhaitez que les modifications de votre écran soient écrites 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 voir dans le coin inférieur gauche du terminal:

:wq

: commande wq dans vi

La courbe d’apprentissage en vaut la peine

Utiliser vi, c’est un peu comme utiliser un piano. Vous ne pouvez pas simplement vous asseoir et l’utiliser; vous devez mettre en pratique. S’asseoir froidement et essayer d’apprendre à la volée lorsque la pression est sur vous pour obtenir quelque chose édité n’est pas la façon de le faire. Cela a autant de sens que de vous asseoir devant un piano pour la première fois au moment où le rideau se lève pour votre concert inaugural.

Une grande partie de la puissance de vi provient de ses nombreuses combinaisons de touches qui effectuent chacune une tâche d’édition commune. C’est génial, mais vous ne pouvez pas en bénéficier tant que vous ne les avez pas mémorisés, pratiqués et qu’ils font partie de votre mémoire musculaire.

Jusque-là, si vous vous trouvez dans vi et que vous regardez un fichier important, il suffit de: q! et sortez gracieusement. Votre dossier important vous remerciera.