Modes
Changer de mode
iMode insertion (avant le curseur)
aMode insertion (après le curseur)
oInsérer une ligne en dessous et passer en insertion
OInsérer une ligne au-dessus et passer en insertion
vMode visuel (caractère)
VMode visuel (ligne)
Ctrl+vMode visuel bloc
:Mode ligne de commande
RMode remplacement
EscRetour au mode normal
Navigation
Déplacement caractère & ligne
h j k lGauche, bas, haut, droite
0 / ^Début de ligne / premier caractère non vide
$Fin de ligne
w / WMot suivant / MOT
b / BMot précédent / MOT
e / EFin du mot / MOT
f{c} / F{c}Trouver un caractère en avant / en arrière
t{c} / T{c}Jusqu'au caractère en avant / en arrière
Déplacement écran & fichier
gg / GAller à la première / dernière ligne
:{n}Aller à la ligne n
Ctrl+d / Ctrl+uDemi-page vers le bas / haut
Ctrl+f / Ctrl+bPage entière vers le bas / haut
H / M / LHaut / milieu / bas de l'écran
%Sauter à la parenthèse correspondante
Édition
Insérer & Ajouter
IInsérer au début de la ligne
AAjouter à la fin de la ligne
eaAjouter à la fin du mot
giInsérer à la dernière position d'insertion
Supprimer & Modifier
x / XSupprimer le caractère sous / avant le curseur
ddSupprimer la ligne
dwSupprimer le mot
d$ / DSupprimer jusqu'à la fin de ligne
cc / SModifier la ligne entière
cwModifier le mot
c$ / CModifier jusqu'à la fin de ligne
ci" / ci(Modifier le contenu des guillemets / parenthèses
Copier & Coller
yyCopier (yank) la ligne
ywCopier le mot
y$Copier jusqu'à la fin de ligne
p / PColler après / avant le curseur
JJoindre la ligne suivante à la ligne courante
Annuler & Répéter
uAnnuler
Ctrl+rRétablir
.Répéter la dernière commande
Rechercher & Remplacer
Recherche
/patternRechercher en avant
?patternRechercher en arrière
n / NCorrespondance suivante / précédente
*Rechercher le mot sous le curseur (en avant)
#Rechercher le mot sous le curseur (en arrière)
Substitution
:s/old/new/ " replace first on line :s/old/new/g " replace all on line :%s/old/new/g " replace all in file :%s/old/new/gc " replace all, confirm each
Mode visuel
Sélection
vDémarrer une sélection caractère
VDémarrer une sélection ligne
Ctrl+vDémarrer une sélection bloc
oSe déplacer à l'autre extrémité de la sélection
gvResélectionner la dernière sélection visuelle
Actions sur la sélection
dSupprimer la sélection
yCopier la sélection
cModifier la sélection
>Indenter la sélection
<Désindenter la sélection
~Basculer la casse
U / uMettre en MAJUSCULES / minuscules la sélection
Tampons & Fenêtres
Tampons
:lsLister les tampons ouverts
:bn / :bpTampon suivant / précédent
:b{n}Aller au tampon n
:bdFermer le tampon courant
:e fileOuvrir un fichier dans un nouveau tampon
Fenêtres
:sp fileDivision horizontale
:vsp fileDivision verticale
Ctrl+w h/j/k/lNaviguer vers une fenêtre
Ctrl+w =Égaliser les tailles des fenêtres
Ctrl+w qFermer la fenêtre
Onglets
:tabnew fileOuvrir un fichier dans un nouvel onglet
gt / gTOnglet suivant / précédent
:tabcloseFermer l'onglet courant
Registres
Utiliser les registres
"ayCopier dans le registre a
"apColler depuis le registre a
"AyAjouter à la copie dans le registre a
:regAfficher tous les registres
Registres spéciaux
""Sans nom (dernier supprimé/copié)
"0Dernière copie
"+Presse-papiers système
"/"Dernier motif de recherche
".Dernier texte inséré
"_Trou noir (ignorer)
Macros
Enregistrer & Lire
q{a}Démarrer l'enregistrement d'une macro dans le registre a
qArrêter l'enregistrement
@{a}Lire la macro du registre a
@@Rejouer la dernière macro
5@aLire la macro a 5 fois
Exemple de macro
qa " start recording into a I// " insert // at line start Esc j " return to normal, move down q " stop recording 10@a " comment next 10 lines
Paramètres
Options courantes
:set number " show line numbers :set relativenumber " relative line numbers :set tabstop=4 " tab width :set expandtab " spaces instead of tabs :set ignorecase " case-insensitive search
Affichage & Comportement
:set wrap / nowrap " toggle line wrapping :set hlsearch " highlight search matches :set incsearch " incremental search :set cursorline " highlight current line :syntax on " enable syntax highlighting
Opérations sur les fichiers
Enregistrer & Quitter
:wEnregistrer
:w fileEnregistrer sous
:qQuitter (échoue si non sauvegardé)
:q!Quitter sans enregistrer
:wq / :x / ZZEnregistrer et quitter
:waEnregistrer tous les tampons
:qaQuitter tous les tampons
Infos fichier & Commandes externes
Ctrl+gAfficher les infos du fichier
:!cmdExécuter une commande shell
:r !cmdInsérer la sortie d'une commande
:r fileInsérer le contenu d'un fichier
Objets texte
Objets intérieurs & Environnants
iw / awIntérieur / autour du mot
is / asIntérieur / autour de la phrase
ip / apIntérieur / autour du paragraphe
i" / a"Intérieur / autour des guillemets doubles
i' / a'Intérieur / autour des guillemets simples
i( / a(Intérieur / autour des parenthèses
i{ / a{Intérieur / autour des accolades
it / atIntérieur / autour d'une balise HTML
Combinaisons courantes
ciw " change inner word di" " delete inside quotes ya{ " yank around braces vip " select inner paragraph
Marques & Sauts
Marques
m{a}Poser la marque a à la position du curseur
'aSauter à la ligne de la marque a
`aSauter à la position exacte de la marque a
:marksLister toutes les marques
Liste des sauts
Ctrl+oSauter à la position précédente
Ctrl+iSauter à la position suivante
:jumpsAfficher la liste des sauts
''Sauter à la dernière position de saut