French commits

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

Revenir

Passage à Vim: le saut vers l'inconnu

2021/04/22 22:40:00

Depuis quelques années, je me sers beaucoup du terminal, mais mon utilisation se limite surtout à lancer des commandes npm/dotnet, à faire du ssh sur mon Raspberry Pi, ou à modifier rapidement des fichiers de config avec nano. C'est pour ainsi dire basique. J'avais pourtant entendu parler d'éditeur terminal du type Vim ou Emacs depuis que je fais du développement, mais, dans mon esprit, c'était plutôt reservé à ceux d'une autre époque, qui étaient habitués à la ligne de commande depuis les âges farouches de l'informatique. Les fameux Barbus de l'informatique.

Pourtant il y a quelques années, après avoir fini le jeu The Witness, j'ai voulu m'intéresser un peu plus au créateur du jeu, Jonathan Blow, que j'avais déjà découvert avec Braid. Tous deux sont des jeux incroyables, que ce soit au niveau du level design, de l'ambiance, mais aussi et surtout de l'ingéniosité de leurs puzzles. Je suis donc rapidement tombé sur des vidéos de lui en train de coder (je vous conseille par ailleurs cette playlist très intéressante sur son projet de création d'un nouveau langage de programmation pour jeux-vidéo). Pour sa part, il utilise visiblement Emacs. Et en le regardant, je me souviens m'être dit de la façon la plus candide qui soit "hum, lui c'est un vrai développeur". À l'époque, je venais tout juste d'avoir mon diplôme de dev en poche, et j'utilisais fièrement Visual Studio 2015. Alors quand j'ai vu Jonathan Blow splitter le contenu de son terminal pour passer d'un fichier à l'autre, je me suis dit qu'il fallait venir d'une autre époque ou d'un autre monde pour coder dans un milieu si restreint et si peu ergonomique. Mon premier contact avec ce genre d'éditeurs avait donc été assez rude. Et c'est donc avec précaution que j'ai fait chacun de mes pas dans le monde du terminal par la suite. Et petit à petit, cette précaution a disparu.

Jusqu'à ce que l'on arrive finalement en 2021. J'ai tout d'abord commencé un nouveau job. Lorsqu'on m'a demandé de choisir ma machine, j'ai proposé un PC. On m'a alors averti que la majorité de la boite tournait sous Mac, j'ai donc suivi la mouvance. Je n'ai jamais eu de machine Apple, mais après tout, pour coder en javascript, peu importe la plateforme. Je pense que les étoiles commençaient à s'aligner. En fait je l'ai su dès que je suis tombé sur cette vidéo grâce à mon feed rss de veille techno: Comment arrêter de se servir de Vim comme un goret (Kevin 'Chewie' Sztern). On devait être un samedi soir, fin avril. J'étais complètement happé. Si bien que j'ai mis du temps avant de m'endormir, comme obnubilé. Et le lendemain, j'ai passé ma journée à regarder du contenu Vim sur Youtube (coucou Primeagen). J'étais pris au piège, je le savais: un éditeur disponible sur nímporte quel type de machine, customisable, puissant, soutenu par une énorme communauté, ça avait de quoi me parler.

Comme par hasard, je viens juste de passer mon pc perso sous Linux, mon nouveau job me fil un macbook, et pour mon activité freelance j'ai un pc sous windows. La Triforce. Et Vim déboule là-dedans comme un chien dans un jeu de quilles. C'était le lien parfait.

Cela fait donc quelques semaines que je l'utilise le weekend pour me faire la main, et bientôt une semaine que je m'en sers quotidiennement pour bosser. Alors bien évidemment, je reste dans un cadre familier pour l'instant: je continue à coder avec Visual Code, tout en ayant l'extension Vim activée. Là je viens de passer la soirée à améliorer mon .vimrc, nottament en ajoutant NERDTree pour faciliter la navigation entre les fichiers. Et comme avec tout, c'est avec la pratique que l'on retient. Ce qui me paraissait impossible il y a encore quelques mois, je commence tout doucement à le toucher du doigt.

Dans combien de temps serais-je capable de coder uniquement via le terminal ? La suite au prochain épisode...?