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 (ou ZZ ou :x)
  • :q! → quitter sans sauvegarder
  • :!ls → lancer une commande externe (ici ls)

Pour revenir au mode interactif, tapez Echap

Level 2 – Opérations standard

  • r → remplacer une lettre
  • x → supprimer une lettre
  • dd → supprimer une ligne
  • cc → supprimer une ligne puis insérer
  • yy → copier une ligne
  • p → coller
  • u → annuler la dernière modification
  • Ctrl+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 ligne
  • g_ → 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 suivant
  • e → aller à la fin du mot courant
  • W → aller au début du MOT suivant
  • E → 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émenter
  • Ctrl+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 split
  • Ctrl+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 et Ta 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 interne
  • va( → sélection externe
  • v2i( → sélection interne de deuxième niveau

Sélection visuelle

  • v → sélection visuelle par caractère
  • V → sélection visuelle par ligne
  • Ctrl+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
John Doe avatar
About John Doe
John Doe's true identity is unknown. Maybe he is a successful blogger or writer. Nobody knows it.
comments powered by Disqus