Aller au contenu principal

📝 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).

CommandeActionExplication
:wWriteSauvegarde le fichier.
:wqWrite & QuitSauvegarde et quitte (ou raccourci ZZ).
:q!Force QuitQuitte sans sauvegarder (ignore les changements).
:xExitSauvegarde et quitte (similaire à :wq).

🚀 Navigation Rapide

ToucheDéplacementDétail
ggGo GoVa au début du fichier (ligne 1).
G (maj)GroundVa à la fin du fichier.
:15Ligne XVa directement à la ligne 15.
$Fin ligneVa à la fin de la ligne courante.
0Début ligneVa au début de la ligne courante.

✏️ Édition et Insertion

ToucheActionNuance importante
iInsertInsère avant le curseur.
aAppendInsère après le curseur.
oOpenOuvre une ligne en dessous et insère.
uUndoAnnule la dernière action (Ctrl+Z).
Ctrl + rRedoRétablit l'action annulée.

🔄 Rechercher et Remplacer (Substitution)

Ces commandes sont très puissantes pour modifier des fichiers de configuration rapidement.

CommandeActionExplication
/motRechercheCherche "mot". (n = suivant, N = précédent).
:s/vieux/neufRemplacer (Ligne)Remplace la première occurrence sur la ligne courante.
:s/vieux/neuf/gRemplacer (Ligne Tout)Remplace toutes les occurrences sur la ligne courante.
:%s/vieux/neuf/gRemplacer (Fichier)Remplace tout dans tout le fichier.
:%s/vieux/neuf/gcRemplacer (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

CommandeActionMémotechnique
ddCouper ligneSupprime la ligne entière.
5ddCouper X lignesSupprime 5 lignes d'un coup.
dwDelete WordSupprime le mot sous le curseur.
DDelete EndSupprime du curseur jusqu'à la fin de la ligne.
gg + dGVider FichierVa 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.

CommandeActionExemple 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.
citChange Inside TagEfface le contenu entre deux balises HTML/XML (<div>...</div>).

Sélection Visuelle (Visual Mode)

ToucheModeUsage
vVisuel (Caractère)Sélectionne caractère par caractère.
V (maj)Visuel (Ligne)Sélectionne des lignes entières.
Ctrl + vVisuel (Bloc)Sélectionne une colonne verticale (Top pour décommenter).
Commenter plusieurs lignes (Bloc)
  1. Fais Ctrl + v pour sélectionner le début des lignes.
  2. Appuie sur I (i majuscule).
  3. Tape #.
  4. Appuie sur Echap deux fois. VIM va appliquer le # sur toutes les lignes.