Informations :
Dates
- Publish : : Saturdy 22 november 2003
- Modification : Thursday 01 september 2011
- 1538 views
Share :
Ouvrir un fichier
Pour voir le contenu d'un fichier avec vi afin de pouvoir le modifier taper la commande :
Script avec 2 lignes
001vi /home/un_fichier002vim /home/un_fichier
Commandes d'insertion de texte
-
i(insert) : insertion avant le curseur -
I(insert) : insertion au début de la ligne -
a(append) : insertion après le curseur -
A(append) : insertion à la fin de la ligne -
o(open) : ouvre une ligne blanche en dessous de la ligne courante -
O(open) : ouvre une ligne blanche au dessus de la ligne courante
Pour abandonner le mode insertion et retourner au mode commande, appuyer sur la touche insert insertion d'un caractère de contrôle
Commande de concaténation
-
Jconcatenate concatène la ligne suivante à la fin de la ligne courante
Commandes de déplacements
-
/(curseur) : déplacement d'une ligne vers le haut -
/(curseur) : déplacement d'une ligne vers le bas -
<=(curseur) : déplacement d'un caractère vers la gauche -
=>(curseur) : déplacement d'un caractère vers la droite -
w(word) : avance au début du mot suivant -
F(forward) : page suivante -
B(backward) : page précédente -
^ou0: début de la ligne courante -
$: fin de la ligne courante
Recherche d'une chaîne de caractères
-
/texte: recherche la chaîne "texte" à partir de la position actuelle du curseur vers le bas du fichier -
?texte: recherche la chaîne "texte" à partir de la position actuelle du curseur vers le haut du fichier -
n(new) : recherche la prochaine occurence de la chaîne "texte" recherche vers le bas du fichier -
N(new) : recherche l'occurence précédente de la chaîne "texte" recherche vers le haut du fichier
Suppression et utilisation du buffer
-
x: suppression du caractère sous le curseur -
X: suppression du caractère précédent le curseur -
dd(delete) suppression de la ligne courante -
yy(yank) : copie la ligne courante dans le buffer -
p(paste) : colle la ligne contenu dans le buffer après la ligne courante -
P(paste) : colle la ligne contenu dans le buffer avant la ligne courante -
u(undo) : annule la dernière commande -
CTRL+R(redo) : refait la dernière commande annulée
Les commandes x, X, dd, et yy peuvent être précédées d'un facteur multiplicateur de leur action. Par exemple 7dd supprimera la ligne courante et les 6 lignes suivantes.
Remplacement
-
r(replace) : remplace le caractère sous le curseur par un nouveau caractère -
R(replace) : remplace tous les caractères par de nouveaux caractères. Pour terminer appuyer sur la touche -
C(change) : remplace la fin de la ligne par de nouveaux caractères. Pour terminer appuyer sur la touche
Expressions régulières et mode commande globale
Les expressions régulières servent à manipuler le fichier texte dans son ensemble.
-
.: représente un caractère quelconque -
*: multiplicateur du caractère précédent -
^: début de ligne -
$: fin de ligne ou fin de fichier -
: permet de représenter les caractères. * ^ $en le mettant devant. Exemple :*ou$ -
1: permet la réécriture de l'expression régulière lors d'une substitution -
s: commande de substitution -
d: commande de destruction de lignes -
:: passage en mode commande globale -
g: parcours global du fichier ou de la ligne
Exemples :
-
:1,$s/search/replace/g: de la ligne 1 à la dernière ligne, substitution de la chaîne neant par la chaîne bof -
:1,$s/search/replace/: idem mais seulement pour la première occurence de la chaîne neant par ligne -
:1,3s/^.*=/BRAVO/ : de la ligne 1 à la ligne 3, substitution du début de la ligne^jusqu'au.*caractère=par la chaîne BRAVO -
1,$s/B.*O/1 Veinard/: rajoute aux mots commençant parBet terminant par O, le mot "Veinard" -
:1,$s/.$//: suppression du dernier ($) caractère quel qu'il soit. -
:10,20d: suppression des (d) lignes 10 à 20 -
:g/^#/d: suppression des lignes commençant par un# -
:g/^M/s//^M/g: suppression des^Men milieu de ligne et substitution par un vrai retour à la ligne. Taper sur "Enter" pour obtenir le^M.
Divers mais utiles
-
:set showmode: indique le mode (insertion ou commande) en bas de la fenêtre -
:set mouse-=a: passer en mode insertion -
:set number: affiche le numéro de chaque ligne ;:set no numbersupprime les numéros des lignes -
:155: positionne sur la ligne 155 -
:set filetype=unix: transforme le type DOS d'un fichier en type UNIX -
:set colorscheme murphy: changer le theme de l'éditeurvim
Sauvegarder et quitter
-
:w(write) : sauvegarde le fichier en cours d'édition -
:q(quit) : abandonne l'édition -
:q!(quit) : abandonne l'édition sans sauvegarder le fichier -
:x(exit) : sauvegarde le fichier en cours d'édition et abandonne l'édition (idem:wq)
Changer les couleurs dans "vim" en plus clair :
Ouvrez le fichier ou créer le :
Script avec 3 lignes
001$ cat $HOME/.vimrc002syntax on003colorscheme desert
Default : colorscheme elflord
Liens :
NdM :
20220105 : Ereg color → Read logs with command tail -f file with strings color?
20240221 : Vim color → Better colors so comments aren't dark blue in Vim?
20251127 :
- Affichage retour commande ipv6 (sombre/clair)
- Personnaliser le terminal
- Les codes de couleurs en Bash
- Comment changer la couleur de la sortie dans le Bash Linux ?
- Couleur dans un script shell ?
- Tutoriel : Personnalisez votre shell en couleur !


