Follow me
RSS feed
My sources
My Viadeo

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.

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| n iè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 n ième ligne après la première affichée à l’écran
nL n iè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 n iè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


Utilisation des 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


Utilisation des fenêtres

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

Normal mode

Commande Action
dss Supprime l’encadrement s
css S Change l’encadrement s par S
ysm s Ajoute l’encadrement s à la mention m
ySm s Ajoute m’encadrement s à la mention m en placant l’encadrement sur une nouvelle ligne indentée
ysss Ajoute l’encadrement s à la ligne
ySss ou ySSs Ajoute l’encadrement s à la ligne en placant l’encadrement sur une nouvelle ligne indentée

En mode visual

Commande Action
ss Ajoute l’encadrement s
Ss Ajoute l’encadrement s en le placant sur une nouvelle ligne indentée

Sommaire

Tagbar

Commandes

Commande Action
:TagbarOpen Ouvre la Tagbar si elle est fermée
:TagbarClose Ferme la Tagbar si elle est ouverte
:TagbarToggle Ouvre la Tagbar si elle est fermée et ferme là si elle est ouverte
:TagbarOpenAutoClose Ouvre la Tagbar et ferme là quand un tag est selectionné
:TagbarSetFoldlevel n Positionne le niveau d’ouverture à n pour le fichier courant
:TagbarShowTag Ouvre la Tagbar dans la fenêtre courante

Mappings dans la Tagbar

Commande Action
Enter Se positionne sur le tag situé sous le curseur
p Se positionne sur le tag situé sous le curseur, en restant dans la Tagbar
Space Afficher le prototype du tag courant
+ ou zo Ouvre le panneau situé sous le curseur
- ou zc Ferme le panneau situé sous le curseur
o ou za Toggle le panneau situé sous le curseur
* ou zR Ouvre tous les panneaux
= ou zM Ferme tous les panneaux
Ctrl-N Va au panneau suivant
Ctrl-P Va au panneau précédent
s Change l’ordre de trie des tags
x Zoom/dézoom la Tagbar
q Ferme la Tagbar

Sommaire

Copyright © 2009 - 2011 Grégoire Lejeune.
All documents licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License, except ones with specified licence.
Powered by Jekyll.