SCSI-UNSA
SCSI-UNSANephi SCSI-UNSA  
SCSI-UNSA International
SCSI-UNSA Futurs étudiants
SCSI-UNSA Etudiants
SCSI-UNSA Personnels
SCSI-UNSA Recherche
SCSI-UNSA Entreprises
SCSI-UNSA E.N.T
SCSI-UNSA
     L'Université Composantes Formation initiale Formation continue Validation des acquis Bibliothèque Agenda Actualité     

L'éditeur de texte VI


Centre de Ressources Informatiques - Université de Nice Sophia-Antipolis
Richard MANAS - version 1.4 - 19 février 2007
Syntaxe :  vi  nom_fichier

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>
 

<ctrl/v> 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
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 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 <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.
 
. 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,$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)

Menu
> Accueil
> Site officiel de l'université
> La DSI (ex CRI)
> Accès libre
> Messagerie étudiante
> Schéma Campus
> Restez ZEN -.-.- Stay ZEN
> Association des anciens étudiants

Annuaires
> UNS
> Pages blanches
> Pages jaunes
> Inversé

Autres liens
> Air France
> EasyJet
> S.N.C.F.
> Administration française
> Base des brevets
> Carte de France
> CNIL
> Convertir les devises
> Dictionnaire Français
> Dictionnaire informatique
> Encyclopédie Wikipedia
> Journal Officiel
> Logos
> Météo France
> Listes de diffusions
> Tout sur les sociétés
> Traducteurs AltaVista - Google
> Conjugaison
> Grammaire
> Trésor de la langue française
> Droit et déontologie
> Droit sur Internet

Le jeu du moment
> Testez vos reflexes