VI

L'éditeur de texte





Vi (en fait vim) est par défaut installé sur l'ensemble des machines sous Linux, voilà pourquoi il est nécessaire de connaître un petit peu son fonctionnement. 
VI dispose de deux modes. Le mode commande pour passer des commandes (sauver, quitter, déplacer, etc ...) et le mode insertion pour saisir votre texte. Par défaut le démarrage se fait en mode commande, pour passer en mode insertion utiliser la touche i. Vous devez alors avoir en bas de l'écran un INSERT. Pour revenir en mode commande taper sur la touche Echap.
Au lancement de vi si vous ne donnez pas de nom de fichier celui-ci sera créé. Sinon lancer vi suivi du nom du fichier.

Voici les principales commandes :

  Commandes Effet
Quitter 
Sauvegarder
:q! Pour quitter vi sans enregistrer
:w! Enregistre le fichier, si celui-ci n'a jamais été enregistré vi indique un no file name
:w /home/chezmoi/monfichier pour enregistrer le fichier dans le répertoire /home/chezmoi avec comme non monfichier. vi ne rajoute pas de terminaison comme le ferai Notepad
par exemple. Attention aux majuscules/minuscules.
:wq!     ou   ZZ   ou :x! Enregistre et quitte
Annulation u Permet d'annuler le dernier changement. Avec vim il est possible d'utiliser plusieurs fois de suite cette commande.
:e! Annule les modifications et reprend la dernière version enregistrée. En fait recharge la dernière version sauvegardée de votre fichier. 
Déplacement h Déplacement du curseur de 1 caractère à gauche
4h  (idem pour j, k, l, w, b,e) Déplacement de 4 caractères vers la gauche. 
Cela marche aussi pour les autres touches de déplacement. 
Vous n'avez pas besoin des :
j Déplacement du curseur de 1 caractère vers le bas
k Déplacement du curseur de 1 caractère vers le haut
l Déplacement du curseur de 1 caractère à droite
w Déplace le curseur au début du mot suivant
b Déplace le curseur au début du mot courant ou précédent 
e Déplace le curseur à la fin du mot suivant
Suppression

Commande commence par d
X  (Touche Effacement arrière) Efface le caractère à gauche du curseur
x  (Touche Delete)  Efface le caractère sous le curseur
dd Supprime une ligne complète au sens vi
d$   ou   D Supprime tous les caractères de la ligne placés après le curseur 
d0 Supprime tous les caractères de la ligne placés avant le curseur
dw Supprime les caractères d'un mot se trouvant après le curseur y compris l'espace
dE Supprime les caractères se trouvant après le curseur. dE et dw sont presque identiques. 
db Supprime le début du mot
2db    (voir aussi 3dd, 4D,...etc) Supprime les deux mots placés avant le curseur. Le fait de placer un chiffre avant la commande marche pour les autres commandes.
Copier

Commande commence par y
yy   ou  Y Copie une ligne compléte
y$ Copie tous les caractères de la ligne placés après le curseur
y0 Copie tous les caractères de la ligne placés avant le curseur
yw     (voir aussi yE) Copie les caractères se trouvant après le curseur
yb Copie le début du mot
p Place ce qui a été copié après le curseur
P Place ce qui a été copié avant le curseur
3p  (7P) Place 3 fois ce qui a été copié après le curseur, ou 7 fois avant
Déplacer dd puis p ou P Pour déplacer on supprime puis on utilise p ou P. Seule la dernière suppression est prise en compte. On peut aussi utiliser y$, y0, ....
Répétition 3icoucou puis echap Ecrit 3 fois le mot coucou à partir du curseur
Rechercher /micro Recherche le mot micro et s'arrête au premier trouvé. Attention le résultat donnera aussi microsoft, microcosme....
/ Entrée Répète la recherche vers le bas
? Entrée Répète la recherche vers le haut
/m.cro* Recherche tous les mots micro, macro, microsoft,...
Le . représente n'importe quel caractère y compris l'espace.
Le * représente n'importe quel nombre de caractères. 
/m[ia]cro Ne recherche que micro et macro. Il ne peut y avoir que un i ou un a après le m.
Utiliser [^ia] pour avoir les mots sans le i et le a, par exemple mocro..!
Remplacer d /micro Recherche et supprime micro (attention on supprime aussi microsoft,...) 
:g/microsoft/s//linux Remplace microsoft par linux dans tout le texte, sauf si microsoft existe deux fois de suite dans la même ligne, seul alors le premier est remplacé.
:g/microsoft/s//linux/c Idem mais demande confirmation
:g/microsoft/s//linux/gc Idem mais le g permet de remplacer aussi tous les microsoft rencontrés dans la même ligne.


Remarques : en mode INSERT (insertion) il est toujours possible d'utiliser les commandes flèches haut, bas, gauche, droite pour se déplacer, et Suppr (ou Delete), Effacement arrière, mais aussi la touche Insert pour l'insertion.

:help vous permettra d'avoir l'aide de vi. Constatez que le sujet est infini. Cela n'est pas le but de cette petite doc.


© Philippe Chadefaux - 26/1/2001 -