logo

Accueil>Cours Linux>L'éditeur de texte VI

L'éditeur de texte VI


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

insert insertion d'un caractère de contrôle

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
w word avance au début du mot suivant
F forward page suivante
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 courante
     
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
C change remplace la fin de la ligne par de nouveaux caractères
pour terminer appuyer sur la touche

Expressions régulières et mode commande globale


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



. 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. Exemple : * ou $
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,/neant/bof/g de la ligne 1 à la dernière ligne, substitution de la chaîne neant
par la chaîne bof
:1,/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,/B.*O/1 Veinard/ rajoute aux mots commençant par B et terminant par O,
le mot 'Veinard'
:1,/.$// 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/^M/s//^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)



Merci à Richard MANAS

Vous pouvez également faire héberger vos tutoriaux sur le site Misfu, il vous suffit de nous les envoyer