Utilisation de vi

Ouvrir un fichier au lancement de vi :

vi fichier

Sauvegarde d'un fichier / Sortie de vi

:w Sauvegarde le fichier
:w monfichier.txt Sauvegarde le fichier sous le nom monfichier.txt
:wq Sauvegarde le fichier et quitte vi
:q Quitte vi sans sauver les modifications
:e! Ignore les changements et recharge le fichier
:q! Force vi à se terminer
:w fichier Sauvegarde le fichier sous le nom "fichier"
:w! fichier Remplace le fichier "fichier"

Déplacements dans vi

[CTRL]f Descend d'un écran
[CTRL]b Remonte d'un écran
[CTRL]d Descent d'1/2 écran
[CTRL]u Remonte d'1/2 écran
:xxx Va à la ligne xxx

Réactualisation de l'écran

[CTRL]l Réactualise l'écran
%[RET] Réactualise l'écran en plaçant le curseur en haut de l'écran
%. Réactualise l'écran en plaçant le curseur au milieu de l'écran
%- Réactualise l'écran en plaçant le curseur en bas de l'écran

Positionnement du curseur

H En haut de l'écran
M Au milieu de l'écran
L En bas de l'écran
h Décale d'un caractère à gauche
j Descend d'une ligne
k Monte d'une ligne
l Décale d'un caractère à droite
O Au début de la ligne
$ À la fin de la ligne
w Au début du mot suivant
e À la fin du mot suivant
b Recule d'un mot

Insertion d'un texte

i Active le mode insertion
a Active le mode insertion mais un caractère après le curseur
I Insère au début de la ligne
A Insère à la fin de la ligne
O Insère une ligne en dessus du curseur et passe en mode insertion
o Insère une ligne en dessous du curseur et passe en mode insertion
[ESC] Termine le mode insertion

Insertion et remplacement d'un texte

r* Remplace le caractère à la position du curseur par *
R Remplace tous les caractères jusqu'à la fin de la ligne ([ESC] pour terminer)
cw Remplace uniquement le mot à la position du curseur ([ESC] pour terminer)
cnw Remplace n mots ([ESC] pour terminer)
C Change le reste de la ligne ([ESC] pour terminer)

Suppression d'un texte

x Supprime un caractère
dw Supprime un mot
dnw Supprime n mots
dd Supprime une ligne
ndd Supprime n lignes

Copier/Coller

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

Copier/Coller du texte dans un autre fichier

ma Marque la position "a" dans le fichier
mb Marque la position "b" dans le fichier
:'a,'b fichier Copie le texte de la position "a" à la position "b" dans le fichier "fichier"

Insertion du texte d'un autre fichier

:r fichier Insère tout le contenu du fichier "fichier"

Rechercher/Remplacer du texte

/chaine Recherche le texte "chaine" vers le bas
?chaine Recherche le texte "chaine" vers le haut
n Répète la dernière recherche
//[RET] Idem que n
N Inverse la recherche précédente
:g/expr1/s//expr2/g Recherche dans tous le fichier l'expression 1 et la remplace par l'expression 2
:g/expr1/s//expr2/gc Idem, mais demande une confirmation avant de remplacer
:x,y s/expr1/expr2/g Recherche de la ligne x à la ligne y l'expression 1 et la remplace par l'expression 2

Annuler/Répéter les modifications

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