Editeur VIM

Se déplacer

Dans la plupart des cas, on peut faire précéder la commande d’un nombre, qui sera le nombre de fois où l’action sera répétée.

Les touches fléchées ou, mieux, h (gauche), j (bas), k (haut), et l (droite).

Touche Action
w (word) pour aller de mot en mot. Par exemple 3w pour se déplacer de 3 mots en avant
b est l’inverse de w, utile pour se déplacer d’un mot en arrière
) pour se déplacer à la phrase suivante, ( pour aller à la suivante.
$ pour aller à la fin de la ligne (ou touche “Fin")
0 ou ^ pour revenir au début de la ligne (ou touche “Début” au-dessus de la touche “Fin")
f+lettre positionnera le curseur sur la lettre voulue de la ligne en cours
F+lettre fait la même chose mais vers la gauche
3G positionne le curseur sur la ligne 3 (pareil avec :3)

Effacer du texte

Touche Action
x efface un caractère
dd efface la ligne courante, dw efface un mot.
d3w efface 3 mots (à noter que 3dw revient au même)
d$ ou D efface la fin de la ligne, d0 efface le début.

Modifier du texte

Touche Action
c (change) efface et se met en mode insertion. Par exemple, cfh efface jusqu’à la lettre h et se met en mode insertion.
r remplace la lettre sous le curseur par la prochaine lettre tapée.
R pour en remplacer plusieurs change la casse, passe la minuscule en majuscule et vice-versa
o insère une nouvelle ligne
J permet de joindre 2 lignes

Recherche

Touche Action
/mot va se placer sur la prochaine occurence de “mot”
n ou / pour aller au suivant
? ou N pour aller au précédent.

Vi conserve en mémoire les différentes recherches. Taper / puis flèche haut ou bas pour faire défiler l’historique.

Recherche d’un motif

Pattern Fonction
/bo.te* cherche boite, boîte, boiter etc…
/bo[iî]te cherche boite ou boîte

Remplacer

Pattern Fonction
:%s/bo[iî]te/récipient/g remplace toutes les occurrences boite ou boîte par récipient dans tout le document
g pour remplacer toutes les occurrences d’une ligne
% (équivalent de 1,$) pour remplacer sur toutes les lignes

Couper-coller

Quand on efface un texte, celui-ci est automatiquement mémorisé. Pour le déplacer, il suffit de taper p à l’endroit où on veut voir coller ce texte.

Copier se fait avec la commande y (yank). yy copie une ligne, yw copie un mot, etc …

Autres commandes utiles

pour sauvegarder et quitter, taper ZZ

pour sauver :w

pour quitter :q (:q! pour quitter sans sauver)

u undo, annule la dernière action

Ctrl+r pour refaire une action annulée

Insérer plusieurs fois un caractère : 30i[Esc]*

insèrera : \***\***\***\***\***\***\***\***\***\***

:e! ré-ouvre le fichier tel qu’il était à la dernière sauvegarde. Ca permet d’annuler toutes les modifications depuis la dernière sauvegarde.

Raccourcis : Il est possible de définir des raccourcis. Par exemple, en tapant M81, on veut qu’il apparaisse “galaxie d’Andromède”. :ab M81 galaxie d’Andromède.

Pour voir la liste des raccourcis, :ab, pour enlever le raccourci M81, :unab M81

Dans le même genre, la complétion automatique de mots : il suffit de taper le début d’un mot puis Ctrl+p et vi le complète automatiquement par rapport au précédent mot commençant par les mêmes lettres.

» pour décaler le texte vers la droite, « vers la gauche

Petit raffinement : vi http://www.monsite.fr ouvrira en édition la page internet monsite.fr !

Autre

On peut passer des commandes shell tout en restant sous Vi : Ils nous affichera la liste des fichiers du répertoire courant.

Autre truc intéressant : pour insérer le texte d’un autre fichier dans le fichier en cours, faire :r nomdufichier

Et un :r Ils insèrera la liste des fichiers dans le fichier en cours !

:5,10ce 80 centre les lignes 5 à 10 sur 80 colonnes

:right pour aligner à droite et :left pour aligner à gauche

Travailler sur plusieurs fichiers en même temps

:10 split nomdufichier ouvre un écran de 10 lignes avec le fichier en argument.

:new ouvre une fenêtre vide

Ctrl+ww pour changer de fenêtre.

Pour modifier la taille d’une fenêtre, Ctrl+w- la diminue d’une ligne et Ctrl+w+ l’agrandit

:q pour fermer une fenêtre

Ou ouvrir simultanément tous les scripts bash par exemple, *vi .sh puis n pour aller au suivant et N au précédent.

MAN  vim 

Voir également

comments powered by Disqus