Vim — Éditeur de Texte en Ligne de Commande
Vim (Vi IMproved) est l'éditeur de texte incontournable des administrateurs Linux. Sur un serveur sans interface graphique, c'est l'outil de référence pour éditer des fichiers.
Pourquoi utiliser Vim ?
| Situation | Avantage |
|---|---|
| Serveur sans GUI | Seul éditeur disponible |
| Git CLI | Rédiger les messages de commit |
| Kubernetes | Éditer des manifests YAML directement |
| Modification rapide | Plus rapide qu'ouvrir un éditeur graphique |
| Formats multiples | Supporte tous les types de fichiers texte |
Vi = éditeur original, le plus distribué sous Linux. Vim = "Vi Improved", version améliorée avec coloration syntaxique et plus de commandes. Sur certaines distros, Vim n'est pas installé par défaut (mais Vi oui).
# Installer Vim
sudo apt install vim
# Ouvrir/Créer un fichier
vim nom-du-fichier.txt # Si le fichier n'existe pas, il sera créé
Les 2 modes de Vim
Vim fonctionne avec 2 modes distincts — c'est le concept fondamental à comprendre :
┌─────────────────────────────────────────┐
│ Mode Commande (défaut au démarrage) │
│ ─ Navigation, suppression, copie │
│ ─ Tout ce que vous tapez = commande │
└──────────────────┬──────────────────────┘
│ i (pour écrire)
▼
┌─────────────────────────────────────────┐
│ Mode Insertion │
│ ─ Saisie de texte normale │
│ ─ "-- INSERT --" affiché en bas │
└──────────────────┬──────────────────────┘
│ Echap (pour revenir)
▼
Mode Commande
Règle d'or : Toujours appuyer sur
Echapavant de taper une commande. Si quelque chose ne fonctionne pas, appuyer surEchapplusieurs fois.
Mode Commande — Navigation et édition
Passage en mode insertion
i → Insérer avant le curseur
a → Insérer après le curseur (append)
A → Insérer en fin de ligne
o → Ouvrir une nouvelle ligne en dessous
O → Ouvrir une nouvelle ligne au-dessus
Navigation
h / l → Gauche / Droite (ou touches flèches)
j / k → Bas / Haut (ou touches flèches)
0 → Aller au début de la ligne
$ → Aller à la fin de la ligne
gg → Aller à la première ligne du fichier
G → Aller à la dernière ligne du fichier
12G → Aller à la ligne 12
Ctrl + f → Page suivante (forward)
Ctrl + b → Page précédente (backward)
Édition
dd → Supprimer (couper) la ligne courante
d10 → Supprimer 10 lignes
yy → Copier la ligne courante (yank)
p → Coller après le curseur
P → Coller avant le curseur
u → Annuler la dernière action (undo)
Ctrl + r → Rétablir (redo)
x → Supprimer le caractère sous le curseur
Sauvegarde et fermeture
:w → Sauvegarder (write)
:wq → Sauvegarder et quitter
:q → Quitter (si pas de modifications)
:q! → Quitter sans sauvegarder (forcer)
:x → Sauvegarder et quitter (équivalent :wq)
ZZ → Sauvegarder et quitter (raccourci)
Astuce : si Vim refuse de quitter, utiliser
:q!pour forcer la sortie.
Recherche et remplacement
/motif → Rechercher "motif" vers le bas
?motif → Rechercher "motif" vers le haut
n → Aller à l'occurrence suivante
N → Aller à l'occurrence précédente
:%s/ancien/nouveau/g → Remplacer TOUTES les occurrences dans le fichier
:s/ancien/nouveau/ → Remplacer la première occurrence sur la ligne courante
:10,20s/ancien/nouveau/g → Remplacer entre les lignes 10 et 20
Mode Insertion
Echap → Retourner en mode commande
En mode insertion, le texte s'affiche normalement. L'indicateur -- INSERT --
apparaît en bas de l'écran.
Commandes utiles en vrac
# Numéroter les lignes
:set number
:set nonumber
# Coloration syntaxique
:syntax on
:syntax off
# Afficher le numéro de la ligne courante
Ctrl + g
# Ouvrir plusieurs fichiers
vim fichier1.txt fichier2.txt
:n # Fichier suivant
:prev # Fichier précédent
Mémo récapitulatif
┌────────────────────────────────────────────────────────┐
│ DÉMARRER │
│ vim fichier.txt │
├────────────────────────────────────────────────────────┤
│ MODE COMMANDE → MODE INSERTION │
│ i → insérer a → après A → fin de ligne │
├────────────────────────────────────────────────────────┤
│ MODE INSERTION → MODE COMMANDE │
│ Echap │
├────────────────────────────────────────────────────────┤
│ NAVIGATION │
│ 0/$ → début/fin ligne gg/G → début/fin fichier │
│ 12G → ligne 12 │
├────────────────────────────────────────────────────────┤
│ ÉDITION │
│ dd → supprimer ligne yy → copier p → coller │
│ u → undo Ctrl+r → redo │
├────────────────────────────────────────────────────────┤
│ SAUVEGARDER / QUITTER │
│ :w → sauver :wq → sauver+quitter :q! → forcer │
├────────────────────────────────────────────────────────┤
│ RECHERCHE │
│ /motif → chercher n → suivant N → précédent │
│ :%s/old/new/g → remplacer tout │
└────────────────────────────────────────────────────────┘
À retenir
- Vim a 2 modes : Commande (défaut) et Insertion (touche
i)Echap= toujours revenir en mode commande:wq= sauvegarder et quitter ;:q!= quitter sans sauvegarderdd= supprimer ligne ;u= annuler ;/motif= chercher:%s/old/new/g= remplacer toutes les occurrences- Vim est présent sur tous les serveurs Linux sans installation supplémentaire