Outils pour utilisateurs

Outils du site


linux:vi

VI : Editeur GNU Linux


VI

Commande de lancement:

vi ------------------------- Ouvre un fichier non nommé.
vi pim pam poum ---- Édition successive des trois fichiers ( :n pour passer au suivant )
vi -r fic ------------------ Permet de récupérer la copie de secours (en cas de pépin).
vi -R fic ----------------- Édition en mode lecture seule (READ-ONLY)
vi +n fic ----------------- Ouvre le fichier en se positionnant directement à la ligne n

Commandes d'insertion de texte

i ----- (insert) -------------- insertion avant le curseur
I ----- (insert) -------------- insertion au début de la ligne
a ----- (append) ----------- insertion après le curseur
A ----- (append) ----------- insertion à la fin de la ligne
o ----- (open) -------------- ouvre une ligne blanche en dessous de la ligne courante
O ----- (open) ------------- ouvre une ligne blanche au dessus de la ligne courante

Pour abandonner le mode insertion et retourner au mode commande, appuyer sur la touche <Echap>

Commande de concaténation

J ------- concatenate --------------- concatène la ligne suivante à la fin de la ligne courante

Commandes de déplacements

/\ ----- (curseur) ----- déplacement d'une ligne vers le haut
\/ ----- (curseur) ----- déplacement d'une ligne vers le bas
<= ----- (curseur) ----- déplacement d'un caractère vers la gauche
=> ----- (curseur) ----- déplacement d'un caractère vers la droite
e ----- (end) ----- avance à la fin du mot suivant
w ----- (word) ----- avance au début du mot suivant
<ctrl>F----- (forward) ----- page suivante
<ctrl>B ----- (backward) ----- page précédente
^ ou 0 ---------- début de la ligne courante
$ ----------------- fin de la ligne courante

Recherche d'un chaîne de caractères

/toutou ---------- recherche la chaîne "toutou" à partir de la position actuelle du curseur vers le bas du fichier
?toutou ---------- recherche la chaîne "toutou" à partir de la position actuelle du curseur vers le haut du fichier
n ----- (new) ------- recherche la prochaine occurence de la chaîne "toutou" recherche vers le bas du fichier
N ----- (new) ------- recherche l'occurence précédente de la chaîne "toutou" recherche vers le haut du fichier

Suppression et utilisation du buffer

x ----- suppression du caractère sous le curseur
X ----- suppression du caractère précédent le curseur
dd ----- (delete) ----- suppression de la ligne courante
yy ----- (yank) ----- copie la ligne courante dans le buffer
p ----- (paste) ----- colle la ligne contenu dans le buffer après la ligne courante
P ----- (paste) ----- colle la ligne contenu dans le buffer avant la ligne coura

u ----- (undo) ----- annule la dernière commande et seulement la dernière

Les commandes x, X, dd, et yy peuvent être précédées d'un facteur multiplicateur de leur action. Par exemple 7dd supprimera la ligne courante et les 6 lignes suivantes.

Remplacement

r ------ replace ----- remplace le caractère sous le curseur par un nouveau caractère
R ----- replace ----- remplace tous les caractères par de nouveaux caractères pour terminer appuyer sur la touche <Echap>
C ----- change ----- remplace la fin de la ligne par de nouveaux caractères pour terminer appuyer sur la touche <Echap>

Partage de l'écran en deux

Le partage de l'écran rend pratique le copier/coller entre deux fichiers.

:split ----------------------- partage l'écran en deux
<ctrl/w> <ctrl/w> ------- passer d'un demi-écran à l'autre
:e second_fichier ------ lit le second fichier dans le demi-écran choisi

Expressions régulières et mode commande globale

Les expressions régulières servent à manipuler le fichier texte dans son ensemble.

Exemple : \* ou \$

. ----------------------- représente un caractère quelconque
* ----------------------- multiplicateur du caractère précédent
^ ----------------------- début de ligne
$ ----------------------- fin de ligne ou fin de fichier
\ ----------------------- permet de représenter les caractères . * ^ $ en le mettant devant.
\1 ----------------------- permet la réécriture de l'expression régulière lors d'une substitution
s ----------------------- commande de substitution
d ----------------------- commande de destruction de lignes
: ----------------------- passage en mode commande globale
g ----------------------- parcours global du fichier ou de la ligne

Exemples :

:1,$s/neant/bof/g ----------------------- de la ligne 1 à la dernière ligne, substitution de la chaîne neant par la chaîne bof

:1,$s/neant/bof/ ----------------------- idem mais seulement pour la première occurence de la chaîne neant par ligne

:1,3s/^.*=/BRAVO/ ----------------------- de la ligne 1 à la ligne 3, substitution du début de la ligne (^) jusqu'au (.*) caractère = par la chaîne BRAVO

1,$s/B.*O/\1 Veinard/ ----------------------- rajoute aux mots commençant par B et terminant par O,
le mot "Veinard"

:1,$s/.$// ----------------------- suppression du dernier ($) caractère quel qu'il soit (.)

:10,20d ----------------------- suppression des lignes 10 à 20

:g/^#/d ----------------------- suppression des lignes commençant par un #

:g/<ctrl/v>^M/s//<ctrl/v>^M/g ----------------------- suppression des ^M en milieu de ligne et substitution par un vrai retour à la ligne.
Taper sur "Enter" pour obtenir le ^M.

Divers mais utiles

:set showmode -------- indique le mode (insertion ou commande) en bas de la fenêtre
:set number -------- affiche le numéro de chaque ligne
:155 -------- positionne sur la ligne 155
:set filetype=unix -------- transforme le type DOS d'un fichier en type UNIX

Sauvegarder et quitter

:w -------- (write) -------- sauvegarde le fichier en cours d'édition
:q -------- (quit) -------- abandonne l'édition
:q! -------- (quit) -------- abandonne l'édition sans sauvegarder le fichier
:"x" -------- (exit) -------- sauvegarde le fichier en cours d'édition et abandonne l'édition (idem :wq)

linux/vi.txt · Dernière modification: 15/04/2016 à 21:15 (modification externe)

Outils de la page