Utilisation de vi

De Wiki de la GUILDE
Aller à la navigationAller à la recherche

Utilisation de vi

Ouvrir un fichier au lancement de vi

:vi fichier

Sauvegarde d'un fichier - Sortie de vi

:w	Sauvegarde le fichier
: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	Descent d'une ligne
k	Monte d'une ligne
l	Décale d'un caractère à droite
O	Au début de la ligne
$	A la fin de la ligne
w	Au début du mot suivant
e	A 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épeter 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

Trucs divers

en mode insertion, Ctrl+p complète le mot en cours d'édition avec le mot précédent qui matche
en mode insertion, Ctrl+n complète le mot en cours d'édition avec le mot suivant qui matche
Pressez de nouveau  Ctrl+p ( ou Ctrl+n ) pour choisir au prochain matching

Contribution pour la GUILDE, Septembre 1999, Jérôme DESMOULINS email: desmoulins CHEZ ifrance.com