Vim Commandes utiles

Vim est un éditeur de texte proposant une compatibilité ascendante avec Vi. Il permet d’éditer n’importe quel type de texte brut. Il est particulièrement adapté pour l’édition des programmes dans la console.

Sauvegarder / quitter

Pour rentrer dans le mode commande : touche [Esc]

Commandes Actions
:w Sauvegarde
:x Sauvegarde puis quitte vi
:wq Sauvegarde puis quitte
ZZ Sauvegarde si nécessaire puis quitte
:q Quite sans sauvegarder
:e! Ignore les modifications et recharge le fichier
:q! Quite sans sauvegarder (même si modification)
:w nom_fichier Sauvegarde le fichier sous nom_fichier
:w! nom_de_fichier Remplace le contenu du fichier nom_fichier

Se déplacer dans le document

Commandes Actions
[CTRL]f descend d’une page
[CTRL]b remonte d’une page
[CTRL]d descend d’1/2 page
[CTRL]u remonte d’1/2 page
:n va à la ligne numérotée n

Supprimer du texte

Commandes Actions
x supprime un caractère
dw supprime un mot
dnw supprime n mots
dd supprime une ligne
ndd supprime n lignes

Copier / coller

Commandes Actions
Y Copie une ligne
nY Copie n lignes
P Colle les lignes avant le curseur
p Colle les lignes après le curseur

Annuler / répéter des modifications

Commandes Actions
u Annule la dernière modification
U Annule toutes les modifications effectuées sur la ligne courante
. Répète les dernières modifications

Rechercher et remplacer

Commandes Actions
/motif Recherche motif en allant vers la fin du document
?motif Recherche motif en allant vers le début du document
n Recherche le motif suivant
N Retourne au résultat de la précédente recherche
//[RET] Répète la dernière recherche
:x,y s/motif/motif2/g Remplace par motif1 par motif2 en allant de la ligne x à y
:g/motif/s//motif2/g Recherche dans tous les fichiers le motif et le remplace par motif2 (global)
:g/motif/s//motif2/gc idem, mais demande une confirmation avant de remplacer

Exemples

Changer le mot corbeau en corbeille

:g/corbeau/s/beau/beille/g
:s/texte/Nouveau/g
:%s/texte/Nouveau/g

Changer les espaces en tab ou inversement (mettre le bon nombre d’espaces)

:%s/    /\t/g
:%s/\t/ /g

Commandes “shell”

Commandes Actions
:r fichiers Insère le contenu de fichier
:r! <cmd> Insère le résultat de
:n1,n2! <cmd> Récupérer les lignes n1 à n2 du résultat de
!! Répète la dernière commande système
> Partager <