Publié en octobre 2012, “Practical Vim: Edit Text at the Speed of Thought” est un livre de 311 pages écrit par Drew Neil, déjà connu pour ses screencasts sur Vim.
Ce livre fait parti des rares ouvrages entièrement consacrés à Vim, plus précisément à la version 7.3.
Pas de longues digressions sur l’historique des vi, nvi et autres elvis (un seul encadré page 53), mais juste les références historiques nécessaires à la compréhension de comportements hérités de vi.
Contenu
Le livre est structuré en 121 “tips”, répartis en 6 thèmes (les différents modes, les fichiers, se déplacer, …) avec les “tips” ordonnés par complexité croissante. Les premiers tips posent les bases du concept, les suivants les développent tout en introduisant les manières de penser “Vim” (Table des matière complète)
Un tip est composé d’un titre “Répéter la dernière commande de substitution”, d’un contexte “Cette action est pratique quand…” suivi de la description des commandes Vim à utiliser, avec quand c’est pertinent une application concrète sur un morceau de code (Javascript, Ruby, Css, …) dont l’archive est téléchargeable sur le site de l’éditeur
Par exemple sur le thème “se déplacer”, le premier tip présente les touches de déplacement de base (hjkl), les tips suivants expliquent comment se déplacer efficacement (on ne tapera plus “lll…” pour aller à la fin d’un mot), tout en mettant l’accent sur ce que l’auteur appelle “The Vim way”, où l’on préférera une commande équivalente à une autre car elle permet une meilleure ré-utilisabilité avec l’opérateur . (et donc moins de touches à taper au final !)
Un tip peut nécessiter des connaissance d’un autre tip, dans ce cas le renvoi est clairement explicité.
L’auteur recommande la lecture de l’ouvrage en picorant à droite à gauche des tips, mais personnellement je l’ai lu de bout en bout, le style de Drew étant particulièrement agréable à lire, et la complexité progressivement dosée.
Un autre aspect intéressant est que les tips se basent sur une configuration par défaut de Vim, tout en proposant des scripts ou des plugins Vim agrémentant son utilisation. Cela permet d’être à l’aise avec un Vim trouvé sur n’importe quelle machine, avant de commencer une personnalisation selon ses besoins.
Une seule petite suggestion que j’ai remontée à l’auteur serait de présenter le folding, quasiment indispensable dès que l’on travaille sur des code sources conséquents.
Version papier
La version papier est convaincante. Le papier est de qualité, l’impression sans défauts, et la première de couverture “pliable” permet de poser le livre ouvert devant soi pour taper les exemples au clavier.
Conclusion
Sysadmin le jour et développeur le soir, Vim est devenu mon éditeur de texte principal grâce à ce livre.
Le style agréable à lire et les exemples concrets (pas de listings abrupts de commandes à apprendre par cœur) aident à progressivement “réfléchir Vim” lors de son utilisation quotidienne, et permettent de rapidement tirer parti de cet éditeur modal.
Un livre à conseiller sans hésitation à toute personne voulant faire de Vim son éditeur de texte principal, ou souhaitant améliorer globalement son utilisation de Vim, et cela bien plus confortablement qu’en lisant quelques howtos ciblés sur une seule fonctionnalité.