
Voici quelques-unes des caractéristiques d'intérêt pour les développeurs :
- Un très puissant éditeur, permettant le chercher-remplacer sur les chaînes et les expressions régulières (motifs), sauter à la fin ou au début d'un bloc, etc.
- Menus déroulants et aide en ligne.
- Colorisation syntaxique en fonction du langage et indentation.
- Totalement personnalisable.
- Vous pouvez compiler et déverminer des programmes dans Emacs.
- Sur erreur de compilation, vous pouvez aller directement à la ligne de code source fautive.
- Une interface amicale au programme info utilisé pour lire la documentation hypertexte GNU, incluant la documentation sur Emacs elle-même.
- Une interface agréable à gdb, vous permettant de voir le code source au fur et à mesure que vous vous déplacez dans votre programme.
- Vous pouvez lire les nouvelles Usenet et envoyer des e-mails pendant que votre programme est en compilation.
Dans la culture UNIX, Emacs est traditionnellement l'un des deux belligérants de la guerre des éditeurs, son opposant étant vi (ou son équivalent amélioré Vim).
En août, l’équipe responsable de son développement a annoncé la disponibilité de GNU Emacs 27.1 qui est livrée avec :
- la possibilité d'utiliser la bibliothèque HarfBuzz pour la mise en forme de texte. HarfBuzz est un moteur de mise en forme de texte. Si vous donnez à HarfBuzz une police et une chaîne contenant une séquence de points de code Unicode, HarfBuzz sélectionne et positionne les glyphes correspondants dans la police, en appliquant toutes les règles de mise en page et les caractéristiques de la police. HarfBuzz vous renvoie ensuite la chaîne sous une forme adaptée à la langue et au système d'écriture.
- La prise en charge de l’analyse native JSON.
- Un support intégré pour les entiers de taille arbitraire.
- Le support des conventions XDG pour les fichiers init.
- Etc.
Depuis, une discussion intéressante a surgi au sein de la communauté. Le sujet du débat portait sur les mesures à prendre pour rendre l'éditeur à nouveau populaire. Fait intéressant, Richard Stallman voulait également intervenir pour donner son avis.
Cette discussion découle de l'évidence. Emacs n'est pas populaire. Connu principalement par ceux qui utilisent GNU / Linux, ou par ceux qui abordent ce monde par d’autres canaux, il affecte un nombre relativement faible d'utilisateurs. Son énorme potentiel, entre autres, est souvent assombri par une courbe d'apprentissage assez abrupte et (malheureusement ?) par une concurrence de plus en plus féroce
Selon cette enquête de 2019, le taux d'adoption de Vim est plus de 5 fois plus élevé.
Un Emacs plus moderne
Le fil de discussion initial a été lancé par le développeur dénommé Ergus le 6 septembre dans un contexte où les utilisateurs proposaient de considérer certains changements pour la version Emacs 28. Plutôt que de se concentrer sur de nouvelles fonctionnalités, cependant, Ergus a proposé de rendre certaines fonctionnalités existantes plus accessibles :
« Ce sont principalement des changements "visibles" qui profiteront aux nouveaux utilisateurs et aux premières impressions, car je ne comprends pas pourquoi on cache les meilleures fonctionnalités jusqu'à ce que l'utilisateur apprenne à les configurer (ainsi que quelques lisp). »
Beaucoup de suggestions sont revenues dans les discussions suivantes, en commençant par l'idée que le thème par défaut pour Emacs devrait être amélioré. En particulier, Ergus a suggéré l'adoption d'un thème sombre par défaut « pour rendre Emacs plus moderne ». Il a souvent été mentionné au cours de la discussion qu'Emacs a besoin d'un aspect et d'une convivialité plus « modernes », bien qu'il y ait, naturellement, une certaine divergence d'opinions sur ce que signifie « moderne ».
Un thème sombre par défaut pourrait ne pas être déployé dans le futur, mais il semble y avoir un accord général sur le fait qu'Emacs pourrait bénéficier d'une meilleure approche plus centralisée des thèmes de couleur, plutôt que d'avoir des noms de couleur codés en dur dans divers packages Elisp. À partir de là, un moteur de thème approprié pourrait être pris en charge, rendant les thèmes sombres et autres facilement accessibles à ceux qui les souhaitent.
Il y a eu une discussion sur l'adoption de la palette de couleurs Solarized en particulier. Cependant, comme l'a souligné Dmitry Gutov, Solarized offre une expérience à faible contraste; un coup d'œil à cette capture d'écran d'Emacs avec des couleurs Solarized le rend assez clair.
Emacs avec des couleurs Solarized
Un autre domaine où Emacs n'est pas suffisamment « moderne », semble-t-il, concerne les liaisons clavier et souris. Du côté du clavier, les utilisateurs s'attendent à certaines actions de certaines frappes; ^ X pour couper une sélection, ^ V pour la coller, etc. Ces liaisons se font facilement en activant le mode Cua, mais les nouveaux utilisateurs ont tendance à ne pas connaître ce mode ni comment l'activer. De nombreux participants à la discussion ont déclaré que ce mode devrait être activé par défaut.
Cela, bien sûr, briserait la mémoire d'un grand nombre d'utilisateurs Emacs existants, qui n'apprécieraient probablement pas la perturbation. Ou, comme l'a dit Richard Stallman :
« Il n'est pas possible de modifier ces raccourcis clavier de base pour imiter d'autres éditeurs plus récents. Cela créerait un éditeur différent vers lequel nous, les utilisateurs d'Emacs, ne passerions jamais. Il est dommage que les personnes qui ont implémenté les nouveaux éditeurs aient choisi l'incompatibilité avec Emacs.
Pour le meilleur ou pour le pire, cependant, les "nouveaux éditeurs" semblent avoir gagné à cet égard. Les liaisons par défaut dans Emacs peuvent ne pas changer de sitôt, mais cela ne signifie pas qu'Emacs ne peut pas fournir un moyen aux utilisateurs d'obtenir ce comportement sans avoir besoin d'apprendre d'abord Lisp ».
La situation avec le comportement de la souris est similaire; comme l'ont souligné plusieurs participants à la discussion, les utilisateurs d'interfaces graphiques en sont venus à s'attendre à ce qu'un clic droit produise un menu des actions disponibles. Dans Emacs, à la place, ce bouton marque une région ("sélection"


Stallman a suggéré d'offrir un « mode remanié » qui amènerait le menu contextuel à un clic droit sans ornement, et qui y ajouterait également certaines des commandes d'édition de base attendues. Ce serait relativement facile à faire, a-t-il dit, car les liaisons de souris sont séparées de tout le reste. En outre, comme il l'a noté, le comportement actuel de la souris est dérivé de « ce qui était la norme dans X Windows vers 1990 ».
Découvrabilité
En général, Emacs a toutes les capacités que les nouveaux utilisateurs pourraient souhaiter avoir (et plus), mais ces capacités peuvent être difficiles à découvrir et à utiliser. Ainsi, un certain nombre des changements proposés concernaient la facilitation de la découverte. Cela a été une surprise apparente pour certains développeurs Emacs, qui ont longtemps pensé que la barre de menus en haut de chaque fenêtre était un moyen facile pour les utilisateurs de découvrir les fonctionnalités. Mais évidemment, il est courant de désactiver la barre de menus pour Emacs; comme l'a dit Gregory Heytings, « les menus ne sont pas "modernes"». Pour être « moderne », une application doit soit attacher ses menus au bouton droit de la souris, soit au plus fournir un « menu hamburger » à partir d'un seul bouton.
Emacs pourrait certainement passer à ce mode, du moins jusqu'à ce que les barres de menus soient à nouveau à la mode. Mais il existe également d'autres idées pour améliorer la découvrabilité. L'une d'elles serait d'offrir une « visite guidée » aux nouveaux utilisateurs lors de la première invocation de l'éditeur qui introduirait rapidement les fonctionnalités de base d'Emacs; ce serait une amélioration du tutoriel qui existe maintenant. Il y a également eu une discussion sur la production d'une série de vidéos, ou peut-être simplement sur l'utilisation des nombreuses vidéos qui existent actuellement. Stefan Monnier a suggéré de courtes vidéos pour correspondre à la capacité d'attention perçue des jeunes utilisateurs, « idéalement drôles et sexy, peut-être avec un chat ».
Un pas au-delà de la visite guidée serait une sorte « d'assistant de configuration » qui fonctionnerait à la première invocation d'Emacs. Il...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.