Je me rends compte que je ne vous ai jamais parlé de Vim sur ce blog. J’ai un vieux brouillon qui date de 2 ans sur le sujet mais je n’ai jamais publié d’articles alors qu’il y a matière !
Vim, pour ceux qui ne le connaissent pas est un “vieil” éditeur de texte en mode texte. J’ai commencé à m’y intéresser il y a 2-3 ans quand je faisais des recherches sur l’ergonomie du poste de travail. En effet Vim à la particularité de ne pas utiliser la souris, vos doigts restent sur le clavier et vos poignets apprécient !
Vim, un éditeur modal
En deux mots, Vim comporte plusieurs mode de fonctionnement: normal, insertion et visuel. Pour chaque mode la fonction des touches de clavier changent. Alors c’est un peu dur à apprendre mais ça décuple les fonctionnalités d’un éditeur classique! Tout part de là, par défaut, en mode normal, une grosse partie des 105 touches de mon clavier servent à me déplacer dans le texte, sans souris mais de manière très précise, au début du mot suivant, à la fin du mot suivant, au début du paragraphe, de la phrase, à la fin de la ligne etc, etc…
C’est long à apprendre mais c’est redoutable une fois maitrisé, bien plus que les raccourcis Ctrl+Alt+flèches d’un éditeur type Sublime Text.
Pour creuser un peu allez voir ce lien qui regroupe quelques tutos.
Vim, un éditeur universel
Autre point positif, vi(m) est super léger et présent sur à peu près tous les système d’exploitations sérieux. Je peux donc changer d’OS, me connecter à un serveur en SSH, coder directement sur une VM sans avoir à changer mon workflow, à modifier mes habitudes. Il suffit de copier mes préférences – mon .vimrc – dans ma home et, hop, je suis comme à la maison !
Vim est moderne et extensible !
Dernier point pour les sceptiques, les fonctionnalités des Vim sont largement aussi étendues que celles de votre IDE préféré. Par défaut il embarque la coloration syntaxique, l’auto-complétion, l’indentation automatique et pleins d’autre chose.
Mais Vim c’est surtout un “vieux” logiciel libre avec une communauté énorme de développeurs. Du coup, un peu comme pour WordPress, il y a une multitude de plugins pour faire ce que Vim ne fait pas encore.
Personnellement j’utilise NERDtree qui permet de manipuler et visualiser facilement des fichiers dans un projet et tComment qui permet de commenter les lignes sélectionnées en fonction du langage utilisé, bien pratique pour les **** de commentaires du HTML :)
En ce moment je teste également CtrlP, un équivalent du Pomme T de Textemate pour ouvrir rapidement des fichiers, AcK une alternative à grep pour parcourir le code de tous les fichiers d’un projet et Syntastic qui m’affiche les erreurs de syntaxe directement dans mes fichiers sources.
Je ne changerais pas d’IDE
En plus de deux ans d’utilisation je suis carrément convaincu: Vim c’est bien. La courbe d’apprentissage est longue (je suis toujours entrain d’apprendre) mais ça vaut le coup, plus on code, plus on apprends de nouveaux raccourcis, plus on est productif. Et ce quel que soit la machine, et quand on passe d’un Mac à un PC on est heureux d’avoir fait ce choix !
PS: Il y aura dans les semaines qui suivent un TupperVim d’organiser au Mutualab venez y faire un tour pour découvrir la bête !