Vim

 · Temps de lecture: 4 mins

Aujourd’hui, nous allons parler de vim, l’omniprésent éditeur de texte CLI hautement personnalisable et piloté par clavier, sorti pour la première fois en 1991 et qui, au moment de sa publication, est actuellement en version 8.1. D’ailleurs, ce message a été écrit en utilisant 100% vim.

Pourquoi utiliser Vim?

Comme je l’ai dit plus tôt, vim est un éditeur modal. Cela signifie que vous n’avez pas besoin d’utiliser la souris pendant l’édition dans vim. Les fixations sont toutes proches (du moins sur un clavier qwerty), donc vim finit par être ergonomique comme l’enfer. De plus, comme le dit son slogan, vim est omniprésent. Il est pré-installé sur la plupart des distributions *nix. Cela signifie que vous pouvez utiliser vim au travail, à la maison et même sur le serveur.

Cependant, je pense que le slogan de vim devrait être “vim : une fois dedans, jamais dehors. Sérieusement.” image Beaucoup de gens plaisantent sur la séquence de caractères qu’il faut taper pour quitter vim :

  • :wq - sauvegarder et quitter vim (“:” est le préfixe pour les commandes vim);
  • :q! - quitter sans sauvegarder.

But seriously, I haven’t met anyone who started using vim then stopped because they started disliking it. Sérieusement, je n’ai jamais rencontré une seule personne qui a commencé à utiliser vim puis qui a arrête parce qu’ils ne l’aimaient pas.

Modes

Aussi, une autre caractéristique puissante dans vim sont les modes. Vous avez beaucoup de modes dans vim, mais ceux que les gens utilisent le plus sont :

  • mode normal : vous pouvez déplacer le curseur et utiliser vos liaisons (vous entrez dans ce mode en appuyant sur ESC ou ^C) ;
  • mode insertion : vous insérez du texte (vous accédez à ce mode en appuyant sur “i” en mode normal) ;
  • mode visuel : où vous pouvez sélectionner du texte, le copier, le couper, le coller, etc (vous accédez à ce mode en appuyant sur “v” en mode normal).

Cela peut paraître étrange au premier abord, mais c’est vraiment payant une fois qu’on s’y est habitué.

How to start using vim ?

Si vous utilisez linux, vim est certainement déjà installé dans votre machine. Sinon, vous utilisez une distribution plus bare-bones et vous savez comment l’installer. Si vous utilisez macOS ou Windows, suivez un tutoriel sur un autre site pour savoir comment installer vim.

Vim est difficile à habituer. Vous avez des modes, vous n’utilisez pas la souris, vous avez des commandes bizarres. Mais ne vous inquiétez pas, c’est comme ça pour tout le monde.

image Pour commencer, nous allons parler de la façon de déplacer votre petit curseur. Vous pouvez utiliser les touches fléchées ou HJKL.

image vim utilise hjkl principalement pour des raisons historiques. (Photo d’un ordinateur ADM-3A)

Vous devriez utiliser hjkl parce qu’il est plus proche du reste de votre clavier, et donc vous n’avez pas besoin de trop bouger votre main pour taper d’autres commandes. Et puisque vim est une question d’efficacité, vous devriez faire le changement. (Je vous expliquerai comment désactiver les touches fléchées bientôt ; soyez patient.)

Pour en savoir plus sur les commandes vim, lancez `vimtutor’ dans votre terminal. Il vous guidera à travers l’art noir de Vim. Et here est un super antisèche de Vim.

.vimrc

C’est là que commence la partie la plus intéressante.

~/.vimrc est le fichier de configuration vim. Here, vous pouvez changer les liaisons de vim, ajouter des commandes, changer l’interface de vim, et bien d’autres choses encore. .vimrc utilise vimscript, un langage que beaucoup de monde déteste, mais c’est toujours mieux que l’archi-rival, emacs, (qui utilise elisp pour la configuration).

Par exemple, une reliure que j’ai faite et que j’utilise beaucoup, est une reliure qui saute au début d’une ligne, et insère un commentaire (//) là.

Voici les liaisons que je parle: nno c ^i//<Space><ESC>^ Woah ! C’est beaucoup de choses pour une ligne. On va le décomposer.

  • `nno’ indique que vous allez définir une liaison pour le mode normal.
  • c' indique à vim que vous voulez lier la lettre c’.
  • `^^’ va au début de la ligne.
  • i” entre en mode d’insertion.
  • ///<Space> est la chose que nous insérons. (On ne peut pas se contenter d’espace ici, car la fonction nno' n'attend que 2 arguments) (' est insensible à la casse, tout comme `'. cela signifie que `' et `' sont valables)
  • " indique à vim de revenir en mode normal.
  • Retournez au début de la ligne, pour plus de commodité.

Ainsi, comme je l’ai dit précédemment, vous pouvez prendre cela dans votre fichier .vimrc pour désactiver les touches.

Il y a plus de choses que vous pouvez mettre dans votre vimrc. Si vous êtes curieux, voici un lien vers mon vimrc. Vous aurez besoin de Vundle (un gestionnaire de plugin vim) pour l’utiliser.

Et voilà à quoi ressemble mon Vim. Pour d’autres choses cool à mettre sur votre vimrc, consultez le wiki vim.


Écrit par Lucas Micheloni de Souza, traduit par Rémy Samkocwa