Référence Vim

Grégoire Lejeune, 2011 - WTFPL
algorithmique.net


Sommaire


A propos

Ce document regroupe l’ensemble de mes découvertes sur Vim. Dans la première partie, je récapitule les commandes standards, et dans la seconde je me penche sur l’utilisation de certains plugins.

Ce document est disponible au format HTML, MultiMarkdown, PDF et LaTeX. Il est diffusé sous licence WTFPL.

[ Sommaire ]


Mouvements

Commande Déplacement
h Gauche
j Bas
k Haut
l Droite
w Mot suivant, précédé d’un signe ou d’un espace
W Mot suivant, précédé d’un espace
b Mot précédent, précédé d’un signe ou d’un espace
B Mot précédent, précédé d’un espace
e Fin du mot, suivi d’un signe ou d’un espace
E Fin du mot, suivi d’un espace
# Va sur le prochain mot correspondant au mot courant
) Début de la phrase suivante
( Début de la phrase précédente
} Début du paragraphe suivant
{ Début du paragraphe précédent
]] Début de la section suivante
[[ Début de la section précédente
0 Début de la ligne
$ Fin de la ligne
^ Premier caractère non blanc de la ligne
+ Premier caractère non blanc de la prochaine ligne
- Premier caractère non blanc de la précédente ligne
n... nième caractère de la ligne
H Première ligne affichée à l’écran
M Ligne située au milieu de l’écran
L Dernière ligne affichée à l’écran
nH nième ligne après la première affichée à l’écran
nL nième ligne avant la dernière affichée à l’écran
Ctrl-f Une page vers le bas
Ctrl-b Une page vers le haut
Ctrl-d Une demi-page vers le bas
Ctrl-u Une demi-page vers le haut
Ctrl-e Une ligne de mois en haut de l’écran
Ctrl-y Une ligne de mois au bas de l’écran
n Return Positionne la ligne n en haut de l’écran
nG ou :n Aller à la nième ligne du fichier
G ou :$ Aller à la dernière ligne du fichier
gg ou :0 Aller à la première ligne du fichier
zz Déplacer la ligne courante au milieu de l’écran
zt Déplacer la ligne courante en haut de l’écran
zb Déplacer la ligne courante en bas de l’écran

[ Sommaire ]


Edition

Insertion

Commande Action
i Insertion avant le curseur
a Insertion après le curseur
I Insertion avant le premier caractère de la ligne
A Insertion après le dernier caractère de la ligne
o Insertion sur une nouvelle ligne, au-dessous de la ligne courante
O Insertion sur une nouvelle ligne, au-dessus de la ligne courante

[ Sommaire ]

Modification

Commande Action
r Rempace le caractère courant
R Mode remplacement (overwrite)

Dans tous les cas, après l’utilisation d’une des commandes suivantes, nous sommes en mode insertion (i) :

Commande Action
s Supprime le caractère courant
cw Supprime tous les caractères jusqu’à la fin du mot courant
cc ou S Supprime tous les caractères de la ligne courante
cmention Supprime tous les caractères jusqu’à la mention indiquée
D Supprime tous les caractères jusqu’à la fin de la ligne courante

Exemples pour cmention :

[ Sommaire ]

Suppression

Dans VIM, la suppression de caractères est une coupure, dans le sens ou ce qui est supprimé est toujours placé dans le presse-papier.

Commande Action
x Supprime le caractère situé sous le curseur
X Supprime le caractère situé avant le curseur
dw Supprime tous les caractères jusqu’à la fin du mot courant
dd Supprime la ligne courante
dmention Supprime tous les caractères jusqu’à la mention indiquée
D Supprime tous les caractères jusqu’à la fin de la ligne courante

[ Sommaire ]

Copier

Commande Action
yw Copie tous les caractères jusqu’à la fin du mot courant
yy Copie la ligne courante
ymention Copie tous les caractères jusqu’à la mention indiquée
Y Copie tous les caractères jusqu’à la fin de la ligne courante

[ Sommaire ]

Coller

Commande Action
p Colle après le curseur
P Colle avant le curseur

[ Sommaire ]

Divers

Commande Action
. Rejoue la dernière commande
J Joins la ligne suivante à la fin de la ligne courante
u Annule la dernière modification
U Annule toutes les dernières modifications pour la ligne

[ Sommaire ]


Sauvegarder et quitter

Commande Action
ZZ ou :x ou :wq Sauvegarde et quitte
:w Sauvegarde
:w filename Sauvegarde dans le fichier filename
:w! Sauvegarde en outre passant les éventuelles protections
:m,nw filename Sauvegarde le contenu des lignes n à m dans le fichier filename
:m,nw>> filename Ajoute le contenu des lignes n à m à la fin du fichier filename
:q Quitte
:q! Quitte en outre passant les éventuelles protections
:n Edite le fichier suivant
:e filename Edit le fichier filename
:e! Reviens au dernier état sauvegardé

[ Sommaire ]


Recherche

Commande Résultat
/pattern Recherche le prochain pattern
?pattern Recherche le précédent pattern
:g// Afficher l’ensemble des résultats de recherche
n ou / Répète la dernière recherche, en avant
N ou ? Répète la dernière recherche, en arrière
tx Va se positionner juste avant le prochain caractère x
Tx Va se positionner juste après le précédent caractère x
fx Va se positionner sur le prochain caractère x
Fx Va se positionner sur le précédent caractère x
, Répète la dernière recherche de caractère, en avant
; Répète la dernière recherche de caractère, en arrière

[ Sommaire ]


Utiliser les marques

Commande Action
mx Pose la marque x à la position courante
`x Se positionne à la marque x
x Se positionne au début de la ligne ou se trouve la marque x
Retourne à la précédente marque ou position

[ Sommaire ]


Substitution

La substitution se fait avec la commande suivante :

:[[start],[end]]s/old/new/[flags]

start et end permettent de délimiter la zone de substitution. Par exemple :

Si start est omis, la substitution se fait à partir de la ligne courrante.

Si end est omis, la substitution se fait jusqu’à la ligne courrante.

Dans le cas présent old correspond à ce qui doit être replacé, sous forme d’expression rationnelle. new est ce par quoi on souhaite remplacer old.

Si old est omis, VIM prendra la dernière recherche ou substitution.

Liste des flags

Flag Action
c Demande une confirmation avant chaque substitution
g Change toutes le occurances de old sur la ligne
p Affiche la ligne après la substitution

Caractères spéciaux

Dans la chaine de recherche (old)

Caractère Correspondance
. N’importe quel caractère à l’exception du retour à la ligne
e* Zero au plus de fois l’expression e
^ Début de la ligne
$ Fin de la ligne
\c Traire le caractère spécial c comme un caractère normal
[r] Définit un rang r de catactères
\(e\) Sauvegarde l’expression e dans un buffer
\n Le buffer de capture n
\< Debut de mot
\> Fin de mot

Dans la chaine de substitution (new)

Caractère Remplacement
\n Par le contenu du buffer de capture n
\c Traire le caractère spécial c comme un caractère normal
& L’intégralité du texte capturé
~ L’intégralité du texte replacé lors de la dernière substitution
\u Passe le prochain caractère en majuscule
\l Passe le prochain caractère en minuscule
\U Passe tous les caractères suivants en majuscule, jusqu’au prochain \e, \E ou la fin du texte
\L Passe tous les caractères suivants en minuscule, jusqu’au prochain \e, \E ou la fin du texte

[ Sommaire ]


split

[ Sommaire ]


Indentation et reformatage

[ Sommaire ]


Utilisation des buffers

[ Sommaire ]


Utilisation des tabs

[ Sommaire ]


Configuration de VIM

Mapping

[ Sommaire ]

Ecrire des fonctions

[ Sommaire ]

Définir des commandes

[ Sommaire ]

Les plugins

[ Sommaire ]


Quelques plugins

Fugitive

[ Sommaire ]

NERDTree

[ Sommaire ]

Surround

[ Sommaire ]

Tagbar

[ Sommaire ]