L'éditeur de texte
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.