Vim : Petit tutoriel
Aujourd’hui j’ai décidé de consacrer un petit billet à ce magnifique éditeur de texte qui est vim. En le maîtrisant, vous pourrez aller beaucoup plus vite dans vos créations et ainsi gagner en efficacité.
… A vrai dire, il s’agit plutôt d’un aide mémoire plus qu’un tuto. 0:)
Si vous êtes intéressés, je vous déconseille de tout apprendre d’une traite mais de le faire au fur et à mesure de vos besoins. Vous verrez qu’avec le temps les commandes deviendront tellement naturelles qu’elle passeront café crème. :)
Level 0 – Installation et lancement
On commence doucement par l’installation de vim et l’ouverture d’un fichier « test ».
apt-get install vim
vim test
Level 1 – Prise en main
Contrairement à d’autres éditeurs tels que nano (ou bloc notes)… vous ne pouvez pas entrer directement du texte ! :‘(
Dès l’ouverture de vim, vous tombez en mode interactif. Et c’est à partir de ce mode que vous devez indiquez ce que vous désirez faire.
Voici quelques commandes utiles.
i
→ insérer du texte (a
→ insérer après la position courante,A
→ ajouter en fin de ligne)o
→ insérer une ligne (O
→ insérer à la ligne précédente):w
→ sauvegarder le fichier en cours:wq
→ sauvegarder puis quitter (ouZZ
ou:x
):q!
→ quitter sans sauvegarder:!ls
→ lancer une commande externe (icils
)
Pour revenir au mode interactif, tapez Echap
Level 2 – Opérations standard
r
→ remplacer une lettrex
→ supprimer une lettredd
→ supprimer une lignecc
→ supprimer une ligne puis inséreryy
→ copier une lignep
→ colleru
→ annuler la dernière modificationCtrl+r
→ refaire
Vous pouvez bien sûr supprimer des lettres en mode insertion ! Un avantage des commandes ci-dessus est que vous pouvez les répéter en plaçant un nombre avant . Ainsi 4dd
permettra de supprimer 4 lignes.
Level 3 – Gagnez en aisance !
Déplacements de base
Il est utile de pouvoir vous déplacer au sein de votre document.
Lignes
10G
→ aller à la ligne 10 (remplacer 10 par le nombre souhaité)gg
→ retour à la première ligne
Caractères
0
→ aller à la première colonne de la ligne^
→ aller au premier caractère de la ligne$
→ aller en fin de ligneg_
→ aller au dernier caractère de la ligne
Mots
Un mot est un ensemble uniquement composé de lettres et du caractère _ Les MOTS sont quand à eux séparés par des caractères blancs (espace, tabulation)
w
→ aller au début du mot suivante
→ aller à la fin du mot courantW
→ aller au début du MOT suivantE
→ aller à la fin du MOT courant
Vous pouvez combiner la suppression et les déplacements. Par exemple dw
permettra de supprimer à partir de la position courante jusqu’au mot suivant.
Nombres
Ctrl+a
→ incrémenterCtrl+x
→ décrémenter
Gestion des fichiers
:e file
→ ouvrir « file »:list
→ liste des fichiers ouverts:r file2
→ fusionner avec « file2 »:bn
→ fichier suivant (:bp
→ fichier précédent,:b5
→ aller au fichier 5):saveas filename
→ sauvegarder sous le nom « filename »
Découpage d’écran
:sp
→ découpage horizontal (ou Ctrl+ws ):vsp
→ découpage vertical (ou Ctrl+wv )Ctrl+w <dir>
→ où dir est l’une des directions (haut, bas, gauche, droite) permet de changer de splitCtrl+w Ctrl+w
→ bascule d’un split à l’autre
Level 4 – Toujours plus fort
Tout copier vers le clavier
:%y"+
ou gg"+yG
Recherche
/mot
→ rechercher « mot » (n
→ prochaine occurrence,N
→ occurrence précédente)%
→ aller à l’accolade correspondante*
→ aller à la prochaine occurrence du mot (#
→ précédente occurrence)fa
→ prochaine occurrence de « a » (ta
→ amène avant le « a », se déplacer avec , et ;)Fa
etTa
pour les occurrences précédentes de « a »
Rechercher, remplacer
:s/ancien/nouveau/
→ remplace la première occurrence de « ancien » par « nouveau »:s/ancien/nouveau/g
→ remplace toutes les occurrences de « ancien » par « nouveau » sur la ligne en cours:1,5s/ancien/nouveau/g
→ remplace toutes les occurrences de « ancien » par « nouveau » de la ligne 1 à la 5:%s/ancien/nouveau/g
→ remplace toutes les occurrences de « ancien » par « nouveau »
Sélection
Tapez (happy(hello)) et placez vous sur le « e » de « hello »
vi(
→ sélection interneva(
→ sélection externev2i(
→ sélection interne de deuxième niveau
Sélection visuelle
v
→ sélection visuelle par caractèreV
→ sélection visuelle par ligneCtrl+v
→ sélection visuelle par bloc
Un exemple bien utile de combinaison :
gg Ctrl+v G $ A hey Echap
→ Ajouter « hey » à la fin de chaque ligne
A utiliser avec
J
→ joindre toutes les lignes pour en faire une seule<
(resp.>
) → indenter à gauche (resp. à droite)=
→ auto indenter
Auto completion
Ctrl+n
Ctrl+p
Macros
qa
→ enregistre tout ce que vous faites dans le registre a.q
→ arrête l’enregistrement@a
→ rejoue la macro enregistrée dans le registre a@@
→ rejoue la dernière macro exécutée.
→ répète la dernière commande