Index général | Index de l'aide

6. Les éditeurs

6.1 L'éditeur vi

vi est un puissant éditeur de texte qui a l'avantage d'etre présent dans tous les systèmes UNIX.

Lancez l'éditeur par vi pour créer un nouveau fichier ou par vi nom_du_fichier pour ouvrir le fichier à éditer. Si nom_du_fichier n'existe pas, il sera créé.

vi possède 3 modes de travail:
1-Un mode de commande où les commandes ne nécessitent pas l'appui de la touche Entrée pour être validées.
2-Un mode saisie. Le mode saisie de l'éditeur vi de Linux accepte les touches de positionnement et les touches de correction, cela facilitera grandement le travail et limitera les passages en mode commande. Cela n'est pas forcément le cas sur les autres systèmes UNIX. Dans ce mode, l'éditeur affichera --INSERT-- en bas à droite de l'écran.
3-Le mode ex. Toutes les commandes devront être validé par Entrée. Dans ce mode, l'éditeur affichera : en bas à droite de l'écran.

Syntaxe:

vi (visual)
vi [options] nom_du_fichier

6.1.1 Principales commandes du mode de commande:

Entrer en mode de saisie:
i (insert)
*Note*:Vous sortez du mode saisie et réentrez en mode commande en appuyant sur Echap.

Entrer en mode ex:
:
*Note*:Vous quittez le mode ex et réentrez en mode commande en appuyant sur Entrée.

Effacer des caractères:
x ;supprime le caractère sous le curseur
dw ;supprime le mot séléctionné
dd ;supprime la ligne
nx ;supprime n caractère(s) suivants le curseur

Annuler une modification:
u (undo)
Tapez la combinaison Ctrl+R pour annuler une annulation.
*Note*:La version Linux de vi permet plusieurs niveaux d'annulation.

Copier, couper et coller du texte:
yw; copie le mot
y$; copie la ligne
dw; coupe le mot
d$; copie la ligne
ynw ;copie n mot(s) suivants le curseur
p ;colle le texte

Texte copié dans une mémoire:

"abc ;crée une mémoire appelé abc (le nom doit etre en minuscule)

exemple:
"nom
Maintenant vous pouvez copier et coller du texte avec cette mémoire.

exemple:
nomyw ;copie le mot sous le curseur dans la mémoire appelé nom
nomp ;colle le mot
Vous pouvez créer jusqu'à 26 mémoires.

Déplacement dans le texte:
k ;une ligne vers le haut
j ;une ligne vers la droite
h ;un caractère vers la gauche
l ;un caractère vers la droite
Ctrl+B ;descendre d'un écran
Ctrl+F ;monter d'un écran
nG ;Saute sur la ligne n
G ;Saute sur la dernière ligne

Rechercher (à valider avec la touche entrée sauf pour n et N):
?... ;mode de recherche vers le début du texte
/... ;mode de recherche vers la fin du texte
/[abc] ;recherche les lettres a, b ou c
/[abc]d;recherche une chaine de caractère commancant par a, b ou c suivie de la lettre d (ad, bd et cd)
/abc ;recherche la chaine de caractères abc
/[a-z] ;recherche les lettres minuscules de a à z
/[0-9] ;recherche tous les chiffres
/a[^b] ;recherche les chaines de caractères commancant par a et non suivies par b
/a.c ;recherche une chaine de caractère commençant par a et finissant par c avec un caractère quelconque au milieu
/ab.*cd ;recherche une chaine de caractère commençant par ab et finissant par cd avec n'importe quoi entre les deux (rien, un ou plusieurs caractères)
/abc\* ;recherche la chaine de caractère abc*
n ;répète la recherche
N ;inverse le sens de la répétition de la recherche
 

Quitter l'éditeur:
ZZ ;quitte l'éditeur et sauvegarde les modifications
 

6.1.2 Principales commandes du mode ex:

Quitter le mode ex et entrer en mode commande:
Appuyer sur la touche Entrée.

Insérez le contenu d'un fichier ou d'une commande:
:r fichier ;insère le contenu du fichier après la ligne courante
:r! commande ;insère le résultat de la commande après la ligne courante
ex:
:r! pwd ;insère le répertoire courant

Remplacement d'un texte par un autre:
[ligne_du_début,ligne_de_fin]s/original/nouveau/ [g]
ex:
:s/robert/bob/ ;remplace la première apparition de robert par bob dans la ligne courante.
:12,54 s/robert/bob/ ;remplace la première apparition de robert de la ligne 12 à 54 par bob
:12,54 s/robert/bob/g ;remplace tous les robert de la ligne 12 à 54 par bob
:1,$ s/linux/Linux/g .remplace tous les linux du texte par Linux
:.,$ s/mechants/gentils/g ;remplace tous les méchants de la ligne courante à la dernière ligne par gentils

Affichage d'information sur le fichier:
:f ; affiche le nom du fichier et la ligne courante

Appeler une commande ex déjà éxécutée:
Appuyez sur les touches de direction haut et bas pour vous déplacer dans l'historique des commandes ex déjà exécutées.
*Note*:L'historique n'est pas sauvegardé à la fermeture de l'éditeur.

Exécutez une commande du shell:
:!commande ;après l'éxécution de la commande, vous revenez dans l'éditeur avec la touche entrée ou retour arrière.

Charger un fichier:
:e fichier ;charge le fichier suivant la commande e
:e! fichier ;charge le fichier suivant la commande e meme si le fichier courant n'a pas été enregistré

Consulter l'aide intégrée:
:help

Sauvegarder le fichier:
:w ;sauvegarde le fichier
:w fichier ;sauvegarde le texte dans le fichier suivant la commande w
:x,zw fichier ;sauvegarde les lignes x à z dans le fichier suivant la commande w

Quitter l'éditeur:
:q (quit); quitte l'éditeur
:q!; quitte l'éditeur meme si les modifications n'ont pas été sauvegardé

 Page précédente (Gestion des archives)

Dernière modification: 27/05/2001
Document écrit par Christophe Robalo