Oui je sais, je ferais mieux de parler de religion, de politique, de guerre ou de n’importe quel autre sujet moins sensible pour les développeurs du monde entier.
Un peu de contexte.
J’ai été pendant de nombreuses années (une dizaine si je compte bien) un utilisateur de Vi, mais cela n’a pas toujours été le cas. Comme la plupart des devs de mon âge, j’ai commencé en utilisant l’éditeur Turbo* (Turbo C dans mon cas), qui avait très probablement un nom, mais je ne me suis jamais donné la peine de l’apprendre.
Pendant ma période à me cogner contre les premiers pas de la programmation, c’était le parangon de l’édition ; je m’en prenais même à ces pauvres utilisateurs de VB qui avaient leur éditeur piloté par des clics (je sais que j’étais bête, cet éditeur était plutôt agréable).
Bref, je suis passé par la plupart des phases classiques d’un dev : minimaliste, super IDE, juste milieu et, bien sûr, la guerre des éditeurs dès que possible.
Mais mon premier contact avec un “gros” éditeur, ce fut Emacs (oh choc), présenté par Chipaca. J’ai vraiment apprécié cet Emacs au premier regard, le problème avec lui : il était fortement personnalisé et cela présentait une marche très haute par rapport aux éditeurs ordinaires. Se dé-noob-iser en matière d’éditeurs est une tâche très difficile, il faut dire à son cerveau d’apprendre tout un nouvel ensemble de choses automatiques, dont aucune n’est particulièrement intuitive. J’étais donc là, seul avec ma config Emacs empruntée, appuyant instinctivement sur des choses comme Ctrl-s, Ctrl-z et une myriade d’autres raccourcis courants qui ne créaient qu’une sortie très confuse dans le minibuffer.
Le temps a passé et je n’ai pas pu acquérir une maîtrise décente d’Emacs, alors j’ai abandonné.
Après mon échec dévastateur (ces choses font de terribles bosses dans l’ego d’un jeune programmeur… qui se réparent facilement et rapidement par le fait que nous sommes des salauds égocentriques) j’ai décidé d’essayer l’autre côté, ce que je considérais comme le côté obscur. Ne vous méprenez pas, j’aimais vi, je l’ai utilisé pendant des années et, en tant que sysadmin dans un pays à l’internet lent, il m’a facilité la vie bien des fois.
Ce que je n’arrive pas à me mettre en tête, ce sont les modes ; je les comprends, ils sont après tout une arme plus élégante pour une époque sans ressources, mais je n’arrive pas à y adapter mes mouvements automatiques. Je suis une personne visuelle, je préfère ma PlayStation au net-hack et on ne peut vraiment pas m’inviter à un jeu de rôle parce que je me mets à crier sur tout le monde qu’ils sont fous d’utiliser leur imagination au lieu d’une carte graphique. Emacs me fournit l’abstraction visuelle avec laquelle je me sens à l’aise, je suis à nouveau en train de réapprendre des choses, mais ce n’est pas vraiment tant que ça ; les doigts s’habituent à la plupart des choses et le clavier devra changer pour s’adapter au reste.
Dans l’ensemble je suis vraiment content, je reviens encore à vi pour certaines choses, surtout quand je fais du travail à distance, mais je sens la vitesse et la productivité arriver.
Une grande aide, c’est que je trouve la personnalisation d’Emacs un peu plus simple, je fais de courts snippets en elisp que je comprends (et que je méprise en même temps, mon dieu quel langage laid, toutes ces parenthèses) et je fais des choses ; petit à petit, je l’amène là où je le veux. Un remerciement spécial s’impose cette fois pour Katherine Cox-Buday qui a eu la patience de m’aider à reconfigurer mon Emacs, en particulier la partie golang (go-mode a été un gros plus pour changer de camp à nouveau) et comme référence de consultation pendant la première phase de démarrage.