📝 Cheat Sheet VIM
Concept Clé : La Modalité
Contrairement aux éditeurs classiques, VIM fonctionne par MODES.
- Normal (Echap) : Pour naviguer et manipuler (mode par défaut).
- Insertion (i) : Pour écrire du texte.
- Visuel (v) : Pour sélectionner du texte.
- Commande (:) : Pour sauvegarder, quitter, chercher, remplacer.
💾 Sauvegarder et Quitter
En Mode Normal (touche Echap).
| Commande | Action | Explication |
|---|---|---|
:w | Write | Sauvegarde le fichier. |
:wq | Write & Quit | Sauvegarde et quitte (ou raccourci ZZ). |
:q! | Force Quit | Quitte sans sauvegarder (ignore les changements). |
:x | Exit | Sauvegarde et quitte (similaire à :wq). |
🚀 Navigation Rapide
| Touche | Déplacement | Détail |
|---|---|---|
gg | Go Go | Va au début du fichier (ligne 1). |
G (maj) | Ground | Va à la fin du fichier. |
:15 | Ligne X | Va directement à la ligne 15. |
$ | Fin ligne | Va à la fin de la ligne courante. |
0 | Début ligne | Va au début de la ligne courante. |
✏️ Édition et Insertion
| Touche | Action | Nuance importante |
|---|---|---|
i | Insert | Insère avant le curseur. |
a | Append | Insère après le curseur. |
o | Open | Ouvre une ligne en dessous et insère. |
u | Undo | Annule la dernière action (Ctrl+Z). |
Ctrl + r | Redo | Rétablit l'action annulée. |
🔄 Rechercher et Remplacer (Substitution)
Ces commandes sont très puissantes pour modifier des fichiers de configuration rapidement.
| Commande | Action | Explication |
|---|---|---|
/mot | Recherche | Cherche "mot". (n = suivant, N = précédent). |
:s/vieux/neuf | Remplacer (Ligne) | Remplace la première occurrence sur la ligne courante. |
:s/vieux/neuf/g | Remplacer (Ligne Tout) | Remplace toutes les occurrences sur la ligne courante. |
:%s/vieux/neuf/g | Remplacer (Fichier) | Remplace tout dans tout le fichier. |
:%s/vieux/neuf/gc | Remplacer (Confirm) | Idem, mais demande confirmation pour chaque changement. |
Astuce : Le slash
/Si ton texte contient des slashes (ex: un chemin /var/www), utilise un autre séparateur pour plus de clarté, comme #.
Exemple : :%s#/var/www#/opt/web#g
⚡ Fonctions Avancées "Pro"
Voici les commandes qui font gagner un temps précieux en administration système.
Vider / Supprimer
| Commande | Action | Mémotechnique |
|---|---|---|
dd | Couper ligne | Supprime la ligne entière. |
5dd | Couper X lignes | Supprime 5 lignes d'un coup. |
dw | Delete Word | Supprime le mot sous le curseur. |
D | Delete End | Supprime du curseur jusqu'à la fin de la ligne. |
gg + dG | Vider Fichier | Va au début (gg) et supprime tout jusqu'à la fin (dG). |
Objets Textuels (Text Objects)
Très utile pour modifier du contenu entre guillemets ou parenthèses sans viser précisément.
| Commande | Action | Exemple d'usage |
|---|---|---|
ci" | Change Inside " | Efface le texte entre les "" et passe en insertion. |
ci( | Change Inside ( | Efface le texte entre les () et passe en insertion. |
cit | Change Inside Tag | Efface le contenu entre deux balises HTML/XML (<div>...</div>). |
Sélection Visuelle (Visual Mode)
| Touche | Mode | Usage |
|---|---|---|
v | Visuel (Caractère) | Sélectionne caractère par caractère. |
V (maj) | Visuel (Ligne) | Sélectionne des lignes entières. |
Ctrl + v | Visuel (Bloc) | Sélectionne une colonne verticale (Top pour décommenter). |
Commenter plusieurs lignes (Bloc)
- Fais
Ctrl+vpour sélectionner le début des lignes. - Appuie sur
I(i majuscule). - Tape
#. - Appuie sur
Echapdeux fois. VIM va appliquer le#sur toutes les lignes.