French commits

Chroniques d'un développeur, avec ses anecdotes, ses découvertes, ses moments à en envoyer valser son clavier.

Revenir

Passage à Vim (Partie 2): une nouvelle zone de confiance

2021/07/22 11:30:00

Me revoilà quelques mois après avoir fait le grand saut dans l'univers de Vim. Et ce n'était pas une mince affaire, on ne va pas se le cacher.

Micro-bilan

Passer d'une belle zone de confort avec des IDE clavier/souris (Visual Studio, puis VSCode et Sublime Text) vers un environnement purement textuel est quelquechose de très perturbant. Mais comme avec tout, l'habitude permet de passer ce cap. La dernière fois, je vous avais laissés après avoir commencé à utiliser Vim au travail depuis une semaine. Cela fait donc maintenant quelques mois. Bilan ?

On ne va pas tourner autour du pot, je ne suis pas retourné vers mes anciens IDE. J'ai réussi à me passer de la souris pour garder les deux mains constamment sur le clavier. Cela a considérablement augmenté ma vitesse de frappe (je ne l'ai pas testée, mais c'est d'une évidence folle), et cela grâce à une chose: j'ai été "forcé" d'apprendre à taper sans regarder le clavier. Utiliser Vim impose en effet de garder les deux mains sur la home row (les index posés sur les deux touches qui ont une aspérité). Et comme tout fonctionne surtout à base de raccourcis, il est important de connaître son clavier sur le bouts des doigts (pun intended) pour une efficacité maximale. Perso, j'ai encore de la marge.

En tout cas je ne regrette absoluement pas mon temps investi dans cette entreprise. Le jeu en vaut clairement la chandelle. Il faut se dire que c'est un vrai investissement dans l'avenir. Je compte bien coder pendant encore un bon moment (10 ans ? 20 ans ?) donc autant instaurer de bonnes bases dès maintenant. Bilan ? Extrèmement positif.

La nouvelle génération

Rapide résumé de l'histoire de Vim.

Vim est open-source. Il est basé sur VI, un éditeur datant des années 70, et a su reprendre les grandes forces de son aîné en l'adaptant aux nouveaux ordinateurs, et aux nouvelles façons de développer. Malgré le côté open-source de Vim, beaucoup de gens trouvent qu'il n'évolue pas dans la bonne direction. NeoVim est donc apparu. Il propose une plus grande ouverture d'esprit dans ses fonctionnalités. Et l'une d'entre elles, est l'abandon du langage vim-script pour LUA. La différence entre les deux est simple: du script infiniment plus simple à comprendre, et donc à lire et à écrire. Ces langages permettent de modifier sa propre expérience de Vim, en créant ses propres raccourcis, ses propres automatisations de tâches, ses propres plugins.

La nouvelle version de NeoVim, la 0.5, est sortie officiellement il y a à peine quelques semaines, et permet nativement l'utilisation de LUA. Personnellement, je ne l'utilise pas encore, mais c'est prévu dans peu de temps. Je compte en profiter pour faire du nettoyage dans ma config vim, et surtout regarder pour développer des plugins pour améliorer mon confort d'utilisation. The Primeagen a récemment publié une vidéo où il montre la possibilité, avec le plugin LSP (nativement intégré dans NeoVim), de pouvoir automatiquement extraire un morceau de code et l'insérer dans une fonction tierce. Ce genre de choses existe dans d'autres IDE, mais Vim, avec son langage de script (qu'on utilise vim-script ou LUA), permet une personnalisation EXTREME de la moindre chose. Et c'est en cela qu'abandonner un IDE classique vaut le coup.

J'espère que ma modeste experience a su vous intriguer et peut-être vous donner envie de vous intéresser à ce formidable outil qu'est Vim. La courbe d'apprentissage est difficile, mais une fois dedans on n'en sort plus.

Bon courage à vous si vous vous lancez, et n'hésitez pas à partager vos avis et vos configs en commentaires !