Emacs, l'obsession du moment
J’ai utilisé Netbeans pendant au moins 6 ans. Cet IDE faisait à peu près tout ce dont j’avais besoin et le faisait généralement très bien. Mais il était aussi muni de fonctionnalités (la plupart tournant autour du langage Java) qui était complètement inutiles à un intégrateur Web. J’utilise à peu près toujours les mêmes technologies: HTML, CSS, JavaScript, Git, SSH/SCP. Donc c’était du genre bazooka pour tuer une mouche.
Deuxièmement je n’ai pas un ordinateur ultra puissant pour faire tourner ce genre de logiciel au quart de tour. Les IDEs ça pèse rarement une plume; quoique qu’avec les années Netbeans a fait énormément de progrès coté performance.
Et troisièmement, je voulais surtout apprendre un éditeur que l’on peut utiliser à travers un Terminal. À ce carrefour, le choix se fait très souvent entre deux supposés ennemis: Vim et Emacs. Je ne veux pas ici entrer dans cette rivalité, mais j’ai choisi Emacs car, dans Vim le principe des modes me rebutait un peu.
Rendu là c’est surtout une question de goût et de point de vue. L’antagonisme de type Microsoft vs Apple, ou Beatles vs Stones est très souvent puéril. Il vaut mieux apprécier et respecter les qualités de chacun. Dans le cas de Vi[m], je crois que c’est très important d’en connaître au moins les bases, puisqu’on le retrouve par défaut dans tout les environnements de type UNIX; ce qui n’est pas le cas d’Emacs. Alors quand vous devez éditer un fichier de configuration sur un serveur étranger, connaître Vim (ou Nano) peut vous sauvez la vie. ;)
Chose sûr, que ça soit Emacs ou Vim, il faut généralement pas mal de temps pour maîtriser ces deux logiciels. Pour ma part, cela fait un peu moins de six mois que j’utilise Emacs tous les jours et tous les jours je découvre de nouvelles choses à son sujet. Je dirais que je maîtrise relativement bien la plupart des raccourcis de bases, mais je ne peux pas me qualifier encore d’utilisateur avancé.
En amour avec
À mon avis il est très facile de tomber en amour avec Emacs. Tout simplement parce que ce logiciel peut faire des choses tellement cool avec n’importe quel document de type textuel. Si bien qu’on ne veut plus le quitter, on veut tout faire dans Emacs: Programmer, rédiger des textes, gérer ses courriels, lire ses fils RSS, faire sa liste d’épicerie, organiser et parcourir ses fichiers, gérer son emploi du temps et plus encore… Et le pire, c’est que tout ça c’est possible!
Une des plus grandes forces d’Emacs c’est justement son haut degré de personnalisation et d’extensibilité. Le langage Emacs Lisp est ce qui permet à l’utilisateur de mettre Emacs à sa main. Mais rassurez vous, vous n’avez pas besoin de savoir programmer en ELisp pour y arriver, car le Web est rempli d’exemples et de snippets qui vous permettront d’apprécier toute la puissance d’Emacs!
Voici d’ailleurs quelques ressources qui vous permettrons de
progresser rapidement dans votre usage d’Emacs:
EmacsWiki, Hack Emacs,
ErgoEmacs, Emacs
Redux,
emacs-fu et bien sûr la
documentation
officiel.
De mon coté je maintiens sur GitHub un
aide-mémoire
où j’inscris les raccourcis clavier qui me sont utiles.
Si vous venez à être tenté par l’aventure Emacs, la première fois que vous le lancerez, vous le trouverez peut-être un peu dégarni (il n’y a même pas de marge pour numéroter les lignes). Certaines personnes pourraient voir ça comme un défaut. Pour ma part je trouve que c’est une bonne chose, car le débutant plonge tête première dans le logiciel et en comprend mieux les rouages. Mais qu’à cela ne tienne, la dynamique communauté d’Emacs a développé des kits de départ pour permettre une introduction plus en douceur. Les plus connus sont Emacs Starter Kit et Emacs Prelude.
En terminant, je vous conseille de jeter un œil sur la série de screencast Emacs Rocks animée par Magnar Sveen, où ce dernier présente avec des exemples concrets la toute puissance d’Emacs! D’ailleurs voici le premier épisode…