Question 1Pour pouvoir taper du texte dans vi, sur quoi appuies-tu en mode normal ?
Les bases de l'éditeur de texte vi
Apprends à démarrer vi, à passer du mode normal au mode insertion, à revenir avec Esc, et à enregistrer avec :wq ou abandonner avec :q! — tout en pratique dans un terminal en navigateur.
Démarrer vi et ses modes
vi est un éditeur de texte présent sur presque tous les serveurs Linux.
Dans ce cours, tu apprendras les opérations vi minimales qui fonctionnent sur n'importe quel serveur.
vi a deux modes.
Juste après le démarrage, tu es en mode normal, où les touches servent de déplacement ou de commandes et où tu ne peux pas taper de texte.
Appuyer sur i passe en mode insertion, où tu peux taper des caractères.
Appuyer sur Esc te ramène en mode normal.
i entre en mode insertion, et Esc ramène en mode normal.vi memo.txt # ouvre memo.txt (démarre en mode normal)
# appuie sur i -> mode insertion (tu peux taper)
# tape du texte
# appuie sur Esc -> retour au mode normal
Bloqué ? Esc puis :q! te fait sortir
Si tu fais une erreur et que l'écran semble bloqué, appuie quelques fois sur Esc puis sur :q! pour sortir et recommencer.
Ça te ramène toujours en sécurité à l'état d'origine.
Enregistrer et abandonner — :wq et :q!
Taper : en mode normal ouvre une ligne de commande où tu peux saisir des commandes liées à la sortie.
:wq signifie write and quit — c'est-à-dire enregistrer et fermer.
:w enregistre seulement sans quitter, et :q quitte quand il n'y a aucun changement.
:q! abandonne les changements et force la sortie, revenant à l'état d'avant l'édition.
| Touche / Commande | Mode | Action |
|---|---|---|
vi file | — | Ouvrir un fichier (démarre en normal) |
i | Normal | Entrer en mode insertion |
Esc | Insertion | Revenir en mode normal |
:w | Normal | Enregistrer (sans quitter) |
:q | Normal | Quitter (quand il n'y a aucun changement) |
:wq | Normal | Enregistrer et quitter |
:q! | Normal | Abandonner les changements et quitter |
:wq enregistre les changements et quitte ; :q! jette les changements et quitte.:q! ne conserve aucun changement
:q! quitte en jetant tous les changements de cette session d'édition.
C'est pratique quand tu te trompes en tapant et veux recommencer, mais quand tu as du contenu à conserver, utilise :wq.
vi draft.txt # ouvre
# i pour insérer -> tape du texte -> Esc
# tape :q! -> abandonne les changements et quitte (draft.txt reste vide)
cat draft.txt # rien n'a été écrit
Aller plus loin avec vi — a / o et :w
i n'est pas la seule façon d'entrer en mode insertion.
a commence à taper à droite du curseur, et o ouvre une nouvelle ligne sous le curseur et commence à taper.
Le A majuscule commence à la fin de la ligne, et O ouvre une nouvelle ligne au-dessus du curseur.
Tous reviennent en mode normal avec Esc de la même manière.
Tu peux aussi utiliser les commandes d'enregistrement de façon sélective.
:w enregistre seulement, sans quitter, donc tu peux continuer à éditer.
Pour une longue édition, enregistre souvent avec :w et ferme avec :wq à la fin pour rester en sécurité.
| Touche | Où la saisie commence |
|---|---|
i | À gauche du curseur (avant lui) |
a | À droite du curseur (après lui) |
o | Sur une nouvelle ligne ouverte en dessous |
A | À la fin de la ligne |
O | Sur une nouvelle ligne ouverte au-dessus |
i commence à gauche, a à droite, et o sur une nouvelle ligne en dessous. Tous reviennent avec Esc.Supprimer et copier des lignes — dd / yy / p
En mode normal, tu peux éditer ligne par ligne sans taper de caractères.
dd supprime (coupe) toute la ligne où se trouve le curseur.
x supprime un caractère sous le curseur, et u annule l'opération précédente (undo).
yy copie (yank) la ligne où se trouve le curseur, et p colle le contenu copié — ou coupé avec dd — sur la ligne sous le curseur.
Une ligne coupée avec dd peut aussi se coller avec p, donc ça marche aussi pour déplacer des lignes.
| Touche | Action |
|---|---|
x | Supprimer un caractère sous le curseur |
dd | Supprimer une ligne (couper) |
3dd / d3d | Supprimer plusieurs lignes avec un compteur (ex. 3 lignes) |
yy | Copier une ligne (yank) |
10yy / y10y | Copier plusieurs lignes avec un compteur (ex. 10 lignes) |
p | Coller la ligne copiée / coupée en dessous |
u | Annuler l'opération précédente |
dd coupe, yy copie, et p colle sur la ligne en dessous. Tout se tape en mode normal.Ajouter un compteur devant te permet d'opérer sur plusieurs lignes à la fois.
3dd (ou d3d) supprime 3 lignes, et 10yy (ou y10y) copie 10 lignes.
Si tu colles avec p après une suppression ou une copie, tu peux déplacer ou dupliquer plusieurs lignes en une seule opération.
3dd supprime 3 lignes, 10yy copie 10 lignes. Colle-les d'un coup avec p.Déplacer le curseur et chercher — gg / G et / ?
Dans un long fichier, sauter d'un coup t'amène à destination plus vite que de te déplacer ligne par ligne.
gg déplace le curseur sur la première ligne du fichier, et G sur la dernière ligne.
Même là où gg ne fonctionne pas, 1G déplace sur la première ligne.
Pour trouver du texte, utilise la recherche.
Taper /word puis Entrée cherche vers l'avant (vers le bas) le mot word à partir du curseur.
?word cherche vers le haut (en arrière), n se déplace vers la correspondance suivante dans le même sens, et N vers une correspondance dans le sens opposé.
Tout cela se tape en mode normal ; pas besoin d'Esc.
| Touche | Action |
|---|---|
gg / 1G | Aller à la première ligne |
G | Aller à la dernière ligne |
/word | Chercher vers le bas (en avant) le mot word |
?word | Chercher vers le haut (en arrière) le mot word |
n / N | Vers la correspondance suivante / précédente |
gg/G sautent à la première/dernière ligne ; /word cherche vers le bas et ?word vers le haut, n/N allant à la correspondance suivante/précédente.Vérification des connaissances
Répondez à chaque question une par une.
Question 2Sur quoi appuies-tu pour revenir du mode insertion au mode normal ?
Question 3Que se passe-t-il quand tu lances :q! ?