Arrêtez de débrancher la prise pour quitter.
| i / a | Insert (avant curseur) / Append (après curseur) |
| I / A | Insert début de ligne / Append fin de ligne |
| o / O | Ouvrir ligne en dessous / au dessus |
| v / V / <C-v> | Visuel : Caractère / Ligne / Bloc rectangulaire |
| yy / y | Copier (Yank) la ligne / la sélection |
| p / P | Coller après / avant le curseur |
| dd / d | Couper (Delete) la ligne / la sélection |
| c / C | Changer (couper + insert) / Changer jusqu'à la fin de ligne |
| r / R | Remplacer 1 caractère / Mode Remplacement |
| u / <C-r> | Undo / Redo |
| . | Répéter la dernière action (Le Saint Graal) |
| :w / :x / :q! | Sauvegarder / Sauver & Quitter / Forcer Quitter |
| :e {file} | Éditer un fichier (tab pour autocomplétion) |
| :bn / :bp | Buffer suivant / précédent |
| :bd | Fermer (Delete) le buffer courant |
| :tabnew / :tabc | Nouvel onglet / Fermer onglet |
| gt / gT | Onglet suivant / précédent |
| gf | Ouvrir le fichier sous le curseur (Go File) |
| <C-^> | Basculer entre les deux derniers buffers |
| J | Joindre la ligne suivante (supprime le saut de ligne) |
| ~ | Inverser la casse (Maj <-> Min) du caractère |
| gU / gu | Mettre en Majuscules / minuscules |
| > | Indenter (v_mode ou >ip) |
| < | Désindenter |
| = | Auto-indenter le code sélectionné |
| <C-a> / <C-x> | Incrémenter / Décrémenter le nombre sous le curseur |
| gq | Formater le texte (couper les lignes longues) |
| iw / aw | Mot (inner / around - avec espaces) |
| ip / ap | Paragraphe |
| i" / i' / i` | Contenu entre guillemets/quotes |
| i( / i[ / i{ | Contenu entre parenthèses/crochets/accolades |
| it / at | Tag HTML/XML (contenu / tag complet) |
| <C-v> + I + texte + Esc | Multi-curseur : Insérer sur toutes les lignes |
| <C-v> + c + texte + Esc | Changer une colonne de texte |
| <C-v> + $ + A | Ajouter à la fin de toutes les lignes (inégales) |
| g; | Aller à la dernière modification |
| gi | Aller à la dernière insertion et passer en INSERT |
| "{a-z}y | Copier dans le registre a, b... z |
| "{a-z}p | Coller depuis le registre a... z |
| "+y / "+p | Copier/Coller presse-papier système (Ctrl-C/V OS) |
| "0p | Coller le dernier yank (pas la dernière suppression) |
| :reg | Voir le contenu de tous les registres |
| m{a-z} | Marquer la position locale |
| m{A-Z} | Marquer la position globale (entre fichiers) |
| '{a-z} | Aller à la ligne de la marque |
| `{a-z} | Aller à la position exacte (colonne) |
| <C-o> / <C-i> | Saut précédent / suivant (Jump list) |
| <C-n> / <C-p> | Complétion mot générique (dans fichier ouvert) |
| <C-x><C-f> | Complétion de chemin de fichier |
| <C-x><C-l> | Complétion de ligne entière |
| ]s / [s | Faute d'orthographe suivante / précédente |
| z= | Suggérer correction orthographique |
| :%s/foo/bar/gc | Remplacer avec confirmation (c) partout |
| :%s/\v(a|b)/X/g | Regex moderne : remplace a ou b par X |
| :g/pattern/d | Supprimer toutes les lignes contenant "pattern" |
| :v/pattern/d | Supprimer toutes les lignes NE contenant PAS "pattern" |
| :g/^\s*$/d | Supprimer toutes les lignes vides |
| :g/foo/norm A! | Ajouter "!" à la fin de toutes les lignes avec "foo" |
| :sort | Trier les lignes sélectionnées |
Utilisez \v (very magic) pour éviter d'échapper ( ) + { } etc.
| ^ / $ | Début de ligne / Fin de ligne |
| . | N'importe quel caractère (sauf saut de ligne) |
| \< / \> | Début / Fin de mot (ex: \<the\>) |
| \d / \D | Chiffre [0-9] / Non-chiffre |
| \s / \S | Espace blanc (tab, espace) / Non-espace |
| \w / \W | Caractère mot [a-zA-Z0-9_] / Non-mot |
| * | 0 ou plus (greedy) |
| \+ | 1 ou plus (avec \v ou \+) |
| \= | 0 ou 1 (optionnel) |
| \{n,m} | Entre n et m fois |
| \| | OU logique (ex: foo\|bar) |
| \r | Nouvelle ligne (dans le remplacement) |
| qa ... q | Enregistrer macro dans "a" |
| @a | Jouer macro "a" |
| @@ | Rejouer la dernière macro |
| 5@a | Jouer 5 fois la macro "a" |
| :sp / :vsp | Split Horizontal / Vertical |
| <C-w>h/j/k/l | Naviguer entre les fenêtres |
| <C-w>= | Égaliser la taille des fenêtres |
| <C-w>o | Fermer toutes les fenêtres sauf la courante (Only) |