Utilisation de vi

vi



Produit
Nom
vi
 
Machines d'installation
Pluton, meso et cluster
 
Description
Vi est un des éditeurs de texte les plus populaires sous les systèmes de type Unix malgré son ergonomie très limitée.
Vi est un éditeur entièrement en mode texte, ce qui signifie que chacune des actions se fait à l'aide de commandes texte. Cet éditeur, bien que peu pratique à première vue est très puissant et peut être très utile en cas de non fonctionnement de l'interface graphique.

 
 
Fonctionnement
Lancement
vi fichier
Une fois le fichier ouvert, il vous est possible de vous déplacer à l'aide des curseurs, ainsi que des touches h, j, k et l (au cas où le clavier ne possèderait pas de curseurs fléchés).

Commandes
Vi possède 3 modes de fonctionnement :
  • Le mode déplacement : celui dans lequel vous êtes à l'ouverture du fichier : c'est le mode par défaut. Il permet le déplacement à l'aide des touches du curseur sur n'importe quel caractère de l'écran. On le quitte généralement en tapant i (insertion) ou a (ajout) pour le mode d'insertion, et en tapant : ou / pour le mode de commande.
  • Le mode insertion : Ce mode permet d'insérer des caractères à l'intérieur du document. Pour le quitter, il faut taper Echap
  • Le mode commande : Ce mode permet d'entrer des commandes. Il est par exemple possible de substituer des caractères dans tout le fichier. On quitte ce mode avec Entrer.
mode déplacement

h déplacement vers la gauche
l déplacement vers la droite
k déplacement vers le haut
j déplacement vers le bas
0 se positionner au début de la ligne
$ se positionner à la fin de la ligne
:0 se positionner à la première ligne du fichier
G se positionner à la dernière ligne du fichier
nG saute à la ligne n (:n identique)
w se positionner sur le mot suivant
b se positionner sur le mot précédent
fc saut sur le caractère c
CTRL-U une demi-page plus haut
CTRL-D une demi-page plus bas
CTRL-B une page plus haut
CTRL-F une page plus bas
CTRL-L rafraîchir l'écran
CTRL-G   information sur le fichier courant et la position dans ce fichier
x efface le caractère sous le curseur
X efface le caractère devant le curseur
rc remplace le caractère sous le curseur par le caractère c
cw remplacement du mot courant
c$ remplacement jusqu'à la fin de la ligne
cO remplacement jusqu'au début de la ligne
cfx remplacement jusqu'au prochain caractère x dans la ligne courante
c/Auto (Entrée) remplacement jusqu'à la prochaîne occurrence de la chaîne Auto
& répéter la substitution précédente
dw efface le mot depuis le curseur jusqu'à la fin du mot
d$ (ou D) efface tous les caractères jusqu'à la fin de la ligne, mise dans le tampon
dO efface tous les caractères jusqu'au début de la ligne
dfc efface tous les caractères de la ligne jusqu'au caractère c
dG efface tous les caractères jusqu'à la dernière ligne, ainsi que la ligne active
D1G efface tous les caractères jusqu'à la première ligne, ainsi que la ligne active, mise dans le tampon
dd destruction de la ligne active, mise dans le tampon
p ajouter à l'endroit du curseur le contenu du tampon, (P insère avant le curseur)
Y mettre la ligne courante dans le tampon
J concaténation de deux lignes
. répéter la commande précédente
yy copier une ligne
nyy copier n lignes
p coller les lignes à un endroit donné
ZZ sauver le fichier puis quitter

mode insertion

i                   insertion de texte devant le caractère actif
I insertion de texte en dééut de ligne
a                   ajout de texte derrière le caractère actif
A ajout de texte en fin de ligne
o insertion d'une nouvelle ligne sous la ligne active
O insertion d'une nouvelle ligne au-dessus de la ligne active

mode commande

Dans le mode de commande, toute commande commence par : et finit par un Entrer.

j concaténation de lignes
d destruction de lignes
x sauver et quitter. Il est recommandé d'utiliser plutôt la combinaison wq.
w sauver
q quitter
n passer au fichier suivant si plusieurs fichiers
0 se déplacer au début du fichier
$ se déplacer à la fin du fichier
f affiche en bas d'écran le nom du fichier, le nombre de ligne et la position actuelle
set i            ignorer la casse en recherche. Annuler avec set noic
set nu numéroter les lignes. Annuler avec set nonu

Si l'éditeur refuse une opération (par exemple il refusera la commande q si le texte courant n'est pas sauvé), on peut forcer l'exécution par un point d'exclamation ajouté (par exemple q!).

Exemples de commandes complexes
1,$s/foo/bar/g Remplace toutes les occurrences de foo par bar
%s/foo/bar/g Equivalent
.,$s/foo/bar/g Remplace toutes les occurrences de foo par bar, depuis la ligne courante.
3,7s%foo/bar%bar/foo%g Remplace aux lignes 3 à 7 les occurrences de la sous-chaîne foo/bar par bar/foo. Cela montre que l'on peut utiliser un autre caractère séparateur que /
1,$s/foo/bar/c Remplace, après confirmation, chaque occurence de foo par bar : répondre par y pour oui et n pour non

 
Aide



[retour]