Démarrez avec l’éditeur Vim, Les zones de texte / travail

L’éditeur Vim semble austère au premier abord mais si on creuse un peu on y trouve de riches fonctionnalités, ici je vais présenter les différentes séparations (zones) possibles afin d’organiser un environnement de travail avec Vim.

Les Buffers

Lorsqu’on ouvre ou on crée un fichier avec Vim, celui-ci va créer un espace pour ce fichier, cet espace (dans la mémoire de Vim) est appelé un buffer. Ainsi si on ouvre un fichier test.txt

[bash] vim test.txt [/bash]

Puis dans vim on entre la commande :ls pour lister les buffers on verra quelque chose comme :

liste d’un buffer dans Vim

Si plusieurs fichiers sont ouverts la liste ressemble plutôt à ça :


Liste de plusieurs buffers dans Vim

Les informations intéressantes de cette liste sont :

  • Les numéros des buffers en première colonne, grâce à eux il est possible d’aller directement à un buffer avec la commande : :b<num_buffer>
  • Le symbole % (pourcent) indique le buffer actif, c’est à dire en général celui dans lequel on travail actuellement.
  • Le symbole # (dièse) indique le buffer précédent, celui dans lequel on bossait précédemment, pour y retourner directement on peut enter la commande :b#
  • La lettre a signifie que ce buffer est affiché à l’écran
  • La lettre h signifie que ce buffer est « caché » (en arrière plan)
  • Le symbole = informe que ce buffer est ouvert en lecture seule, il n’est donc pas modifiable
  • Le nom du fichier ouvert dans vim
  • La ligne à laquelle est le curseur dans ce fichier

La commande :bn (buffer next) permet de passer au prochain buffer dans la liste, et :bp (buffer previous) passe au précédent.
Pour supprimer un buffer il faut faire :bd <num_buffer>  (buffer delete).
Il est possible de rechercher un buffer en faisant :b <pattern> puis en appuyant sur tabulation pour faire défiler les possibilités, <pattern> est une partie du nom du fichier ouvert dans le buffer que l’on veut éditer.

Les Splits

Les splits sont des séparations de la zone de travail, il existe 2 types de splits :

  • Vertical, c’est celui que j’utilise la plus car nos écran sont beaucoup plus larges que haut. On le crée avec la commande :vsp (vertical split)
  • Horizontal, qui est pratique quand on veux garder une partie d’un fichier sous les yeux. On le crée avec la commande :sp
Un split vertical et un horizontal

Les splits sont très pratiques pour travailler sur plusieurs fichiers simultanément.
Afin de naviguer et manipuler on dispose bien sûre de raccourcis clavier, même si ma sourie fonctionne si l’option « :set mouse=a »

Les raccourcis ce lisent de cette manière :
<ctrl>ab signifie on appuie sur la touche contrôle (Ctrl) et une fois sur a et une fois sur b sans lâcher Ctrl
<ctrl>a+b signifie on appuie sur la touche contrôle (Ctrl) et une fois sur a, on relâche Ctrl et une fois sur b.

  • <ctrl>ww           change de split, passe au suivant
  • <ctrl>w+q          ferme le split actif
  • <ctrl>w+=          met les splits voisins de la même taille
  • <ctrl>w++          agrandi le split actif
  • <ctrl>w+-           rétréci le split actif
  • <ctrl>w+⇦         change de split, va à celui de gauche si il existe
  • <ctrl>w+⇩         change de split, va à celui en dessous si il existe
  • <ctrl>w+⇧         change de split, va à celui au dessus si il existe
  • <ctrl>w+⇨         change de split, va à celui de droite si il existe

Les Tabs (onglets)

Bien avant les navigateurs web, Vim disposait déjà de ces outils très pratiques que l’on nomme onglets (tabs en anglais). Chaque onglets peut contenir plusieurs splits, en fait un onglet se comporte grosso modo comme une instance de Vim.

Trois onglets avec Vim

Pour créer un nouvel onglet j’utilise la commande :tabnew, puis pour naviguer à l’onglet suivant on fait le raccourcis gt et pour aller à l’onglet précédent on fait gT. Supprimer un onglet se fait simplement comme pour fermer Vim avec :q ou 😡 ou autre, pour fermer tous les onglets d’un coup on fait :qa ou :xa.

Olivier Munier

Depuis ma plus tendre enfance j'ai toujours été attiré par les domaines techniques et les appareils électroniques. Très vite je me suis intéressé à l'informatique et j'ai eu mon premier PC en 1992. Au début des années 2000, j'ai découvert Linux et le monde des logiciels libres et open source. Assez vite j'ai décidé de me spécialiser sur ce vaste monde afin de devenir un expert. Titulaire d'un master en Informatique, mes compétences couvrent un très large éventail, notamment l'administration système et réseau Linux, la virtualisation et la programmation C, Shell et surtout Python. Sur ce site je partage mes connaissances, réalisations et avis sur tout un tas de domaines mais particulièrement l'informatique, l'électronique et la geekitude.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *