Note : 7 ; Une appréhension claire et méthodique de l’outil.
Qui eut cru que près de 400 pages seraient nécessaires pour aborder l’IDE emblématique de la FSF ? Il est vrai que Emacs est un environnement de purs geeks, non seulement riche en fonctions, mais customisable et extensible. Encore faut-il savoir par où s’y prendre car rien n’est directement accessible à moins de connaitre les raccourcis appropriés, les commandes nécessaires ou la configuration qu’il faut, n’en déplaise aux fan boys qui le prétendent hautement ergonomique (il est vrai en comparaison de vi…).
Bref, ce sont effectivement 390 pages (hors annexes) qu’il faudra aborder, le tout organisé en 16 chapitres. Le premier chapitre « les bases d’Emacs » porte bien son nom. On y trouve la compréhension d’éléments qu’il faut maîtriser absolument tels que les buffers, les fenêtres et les commandes les plus importantes (qui ne sont bien sûr pas accessibles par menu). La section « en cas de problème » en fin de chapitre est vraiment une bonne idée, on la retrouvera en fin de tous les chapitres. L’édition de fichier est au menu du second chapitre. Nous déplacerons le curseur pour commencer, car la souris ou les flèches du clavier ne peuvent le faire. Viennent ensuite les autres commandes basiques d’édition. Cela devient assez vite fastidieux ! Comme beaucoup de fonctionnalités de l’éditeur, la recherche et le remplacement vont du simple au très compliqué et sophistiqué. Je passe rapidement sur le simple, même si la recherche avec les expressions régulières figure dans cette catégorie. Ispell permet quant à lui de faire des recherches approchées. La gestion des abréviations clôture un chapitre qui va bien plus loin que ce à quoi on s’attendrait !
Les buffers, c’est le mécanisme à la base d’Emacs. Ce chapitre 4 nous enseigne tout de leurs manipulations et de la manière de les affecter à une ou plusieurs fenêtres, avec les fonctionnalités qui en découlent. C’est un apprentissage à faire, car cela ne tombe pas sous le sens. Au chapitre 5, il est question de se servir d’Emacs comme environnement de travail Shell, et aussi de l’utiliser en gestion d’agenda. Une fonction qui parait un peu délirante aujourd’hui. On ne débotte pas au chapitre 6 qui nous propose d’utiliser l’éditeur comme gestionnaire de mail. A l’identique de ce qu’on utilise aujourd’hui, mais en ligne de commande. Donc mieux, diront certains. Mieux, au chapitre 7, on voit comment utiliser l’éditeur du GNU pour naviguer sur le net, avec Telnet, ftp (ça, ça reste utile) ou browser le web. Une expérience qui n’a rien à voir de celle des navigateurs modernes.
Retour à l’édition de texte au chapitre 8, pour formater et indenter du texte, pour l’essentiel, mais aussi pour dessiner en mode « ascii art ». Au chapitre 9 il est question de textes balisés avec nroff, troff, latex ou html. Une prose fort peu passionnante, bien que truffée de copies d’écrans. Cela se corse beaucoup au chapitre 10 avec la création, la maintenance et la gestion des macros. Je ne les ai jamais utilisées, mais elles semblent plus simples à aborder dans le livre qu’en réalité. Il faut savoir que l’étape d’après, c’est la programmation en Lisp… On y est pratiquement (et même littéralement) au chapitre 11 dévolu au paramétrage d’Emacs. Cela commence simplement par les mapping claviers. Ils nous emmènent ensuite aux types de terminaux (êtes-vous assez âgés pour avoir entendu parler du VT-100 ?) et cela devient plus glauque encore avec les contrôles de flux qui sont bien évidemment spécifiques du type de terminal !
Emacs pour les programmeurs, c’est le vrai deal du livre, et c’est le sujet du chapitre 12. C’est très essentiellement l’édition qui est couverte ici, et principalement 3 langages : C et C++ (oui, on va dire que c’est un seul langage), Lisp (avec 3 modes différents) et Fortran ! Lisp est aussi le langage de programmation et de customisation d’Emacs. A ce titre, le chapitre 13 lui est dédié. Ce dernier est un peu velu, car sur 50 pages il nous gratifie d’une introduction à Lisp, puis de son usage au sein d’Emacs. Accrochez-vous ! En comparaison, le chapitre 14 qui nous propose de customiser l’interface avec la configuration et les évènements X Windows paraitrait presque simple…
Au chapitre 15, il est question de l’intégration de la gestion de version. Cela reste très rudimentaire. Vous avez le choix : SCCS, RCS ou le petit dernier : VCS ! Trêve de plaisanteries : on est déjà contents d’avoir cette intégration. Le dernier chapitre est beaucoup, beaucoup plus reposant : il s’agit de l’invocation de l’aide en ligne.
Ce livre est une introduction progressive à l’éditeur universel du FSF. Les très nombreuses fonctions de l’éditeur sont regroupées en catégories et inspectées en profondeur, et illustrées par des exemples. Le regroupement par catégories de fonction font de ce livre aussi bien un manuel de référence (grâce aussi à des tableaux synthétiques des fonctions, aussi bien au long des chapitres qu’en annexe), qu’un manuel de l’utilisateur qui peut être lu linéairement.
Référence complète : Introduction à GNU Emacs – Debra Cameron & Bill Rosenblatt – O’Reilly & Associates 1997 (VO : 1996) – ISBN : 2-84177-015-X (VO : 1-56592-152-6)