UNIX : L'éditeur vi

Qu'est-ce que le Vi ?

Le Vi est un puissant éditeur de texte ASCII sous UNIX. Il est compatible avec une majorité de terminaux, mais peut sembler d'un premier abord assez rébarbatif par l'utilisation du clavier pour toute intervention.

Inhaltsverzeichnis Haut

Présentation du vi

Vi dispose de 2 modes :

  • un mode commande (mode par défaut)
  • un mode de frappe (ajout de texte dans le fichier)

L'appel de vi se fait de la façon suivante :

  • vi "fichier" ou fichier est le nom du fichier que l'on veut éditer.
  • Si ce fichier existe, alors on peut voir apparaître à l'écran son texte.

Inhaltsverzeichnis Haut

Commandes du vi

Conventions:

  • n, n1, n2 = nombres quelconques.
  • ^X = touche <CTRL> X (X touche quelconque).
  • chaîne, chaîne1, chaîne2 = chaînes de caractères.

Inhaltsverzeichnis Haut

Passage du mode COMMANDE en mode FRAPPE

<i>
Insérer du texte à l'endroit où se trouve le curseur
<a>
Ajouter du texte après le curseur
<I>
Insérer du texte en début de ligne
<A>
Ajouter du texte en fin de ligne
<o>
Ajouter une nouvelle ligne sous la ligne courante
<O>
Ajouter une nouvelle ligne au dessus la ligne courante

Inhaltsverzeichnis Haut

Passage du mode saisie en mode COMMANDE

<ESC>
Passer en mode COMMANDE

Inhaltsverzeichnis Haut

Commandes de sortie / sauvegarde d'édition:(Mode commande)

:w
Sauver le texte
:w!
Forcer la sauvegarde
:q
Quitter sans modifier
:q!
Quitter après une modification que l'on ne désire pas sauvegarder
:wq
Sauver et quitter
:wq!
Forcer la sauvegarde et quitter

Inhaltsverzeichnis Haut

Commandes de Défilement du texte:(Mode commande)

<h> ou <BAKSPACE>
Déplacer le curseur vers la gauche
<j>
Déplacer le curseur d'une ligne vers le bas
<k>
Déplacer le curseur d'une ligne vers le haut
<:>n <RETURN>
Positionner le curseur sur la ligne n dufichier.Si n ='$' alors position en fin de fichier
<CTRL> <F>
Faire défiler le texte d'une page vers le bas
<CTRL> <U>
Faire défiler le texte d'une page vers le haut

Inhaltsverzeichnis Haut

Commandes de suppression de texte: (Mode commande)

<x>
Supprimer le caractère courant
<d>
Supprimer la ligne Courante
<j>
Déplacer la ligne située sous la ligne courante vers le dernier caractère de la ligne courante
n<x>
Supprimer n caractères à partir du caractère courant
n<d>
Supprimer n lignesà partir de la ligne courante

Inhaltsverzeichnis Haut

Autres commandes: (Mode commande)

<u>
Annuler la dernière commande
<CTRL> <G>
Afficher le nombre de ligne et le numéro de la ligne courante
</> "expression"
Rechercher la première occurrence de "expression" vers le bas
</> ou <n>
Rechercher l'occurrence suivante de "expression"

Inhaltsverzeichnis Haut

Commandes de déplacement du curseur (mode commande)

^F (Forward)
Faire défiler d'une page vers le bas
^U (Upward)
Faire défiler d'une page vers le haut
0(zéro)
Positionner le curseur en début de ligne
L
Positionner le curseur sur la dernière ligne de la page courante
M
Positionner le curseur sur la ligne centrale de l'écran courant
nG (Go)
Positionner le curseur sur la ligne n
H
Positionner le curseur sur la première ligne de la page courante
e
Positionner le curseur au début du mot courant
E
Positionner le curseur en fin du mot courant
nl
Avancer le curseur de n caractères
$ (End)
Avancer le curseur en fin de ligne
w(word)
Avancer le curseur d'un mot
nw
Avancer le curseur de n mots
nh
Reculer le curseur de n caractères
nW
Reculer le curseur de n mots
nj
Descendre le curseur de n lignes
nk
Remonter le curseur de n lignes

Inhaltsverzeichnis Haut

Commandes de passage en mode frappe de texte ( à la fin de ces commandes, passage en mode insertion)

O
Inserer une ligne blanche au dessus de la ligne courante
A (Append)
Ajouter des caractères en fin de ligne
I (Insert)
Insérer des caractères en début de ligne
o
Ajouter une ligne blanche au dessous de la ligne courante
a
Ajouter des caractères après le caractère courant
i
Insérer des caractères en avant le caractère courant

Inhaltsverzeichnis Haut

Commandes de modification du texte (mode commande)

J
Concaténer la ligne courante et la ligne en dessous
d$ (Del End)
Supprimer la fin de la ligne courante
u (Undo)
Annuler la dernière commande
nx (ex: 2x)
Supprimer n caractères
ndd (ex: 2dd)
Supprimer n lignes
dw
Supprimer de la position courante à la fin du mot courant
r (suivit du nouveau caractère)
Remplacer un seul caractère
R texte <ESC>
Remplacer plusieurs caractères
cw chaîne <ESC> (Change Word)
Remplacer un mot à partir de la position courante
C chaîne <ESC>
Remplacer jusqu' à la fin de ligne

Inhaltsverzeichnis Haut

Recherche et remplacement de chaîne de caractères (mode commande)

/chaîne
Rechercher une chaîne de caractère vers la fin du fichier
?chaîne
Rechercher une chaîne de caractère vers le début du fichier
n (Next)
Poursuivre la dernière recherche
:n1,n2 s/chaîne1/chaine2"/g
Remplacer lachaîne1 (toutes les occurrences de chaîne1) ,par la chaîne2 depuis la ligne n1 jusqu'à la ligne n2.
Si n2 est égal à $ alors on effectue le remplacement jusqu'à la fin du document.

Inhaltsverzeichnis Haut

Utilisation de la mémoire tampon (mode commande)

Y (Yank)
Pour copier la ligne courante dans le tampon
nY
Pour copier n lignes à partir de la ligne courante dans le tampon
yw
Pour copier le mot courant dans le tampon
y$
Pour copier la fin de la ligne courante dans le tampon
p (put)
Pour ajouter le contenu du buffer au dessous la ligne courante
P
Pour insérer le contenu du buffer au dessus de la ligne courante

Inhaltsverzeichnis Haut

Autres commandes en vrac

<CTRL> G
Pour avoir des informations sur le fichier courant (nom, position courante, fichier modifié ou non, nombre de lignes du fichier)
:e "fichier" (Edit)
Pour éditer un autre fichier, après avoir sauvegardé le fichier, courant sans sortir de vi
 :e! "fichier"
Pour éditer un autre fichier, sans sauvegarder le fichier (abandon des modifications), courant sans sortir de vi
:q! (quit)
Pour sortir de vi sans sauvegarder le fichier courant
vi fic1 fic2 fic3 fic4
Pour éditer plusieurs fichiers (fic1 fic2 fic3 fic4)
:n (Next)
Pour passer au fichier suivant, après avoir sauvegardé le fichier courant
:n!
Pour passer au fichier suivant, sans sauvegarder le fichier courant
:se nu (set numbering)
Pour afficher le numéro des lignes
:se nonu
Pour enlever le numéro des lignes
:ts=n<RETURN> (Tabulation Size)
Pour changer le nombre n d'espace (8 par défaut)imprimés par la touche <TAB>
:se ai
Pour mettre en place le système d'auto indentation
:! "programme"
Pour exécuter depuis vi un programme externe
: set showmode
Pour afficher le mode courant de vi (Insertion , Ajout, etc.)
. (point)
Pour répéter la dernière commande
<CTRL> L
Rafraîchissement de l'écran quand le curseur ne semble pas être placé au bon endroit

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 19/03/2002, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/unix-editeur-vi.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.