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 :
c# va supprimer tous les caractères jusqu’au début prochain mot courant.
cdx va supprimer tous les caractères jusqu’au prochain caractère x.
- …
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 :
:%s/toto/titi/g replacera toute les occurances de toto par titi dans tout le document.
:3,7/toto/titi/g replacera toute les occurances de toto par titi des lignes 3 à 7 incluses.
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
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.