URL: https://linuxfr.org/news/gnu-emacs-26-1 Title: GNU Emacs 26.1 Authors: dzecniv ZeroHeure, Davy Defaud et Nils Ratusznik Date: 2018年05月29日T00:23:09+02:00 License: CC By-SA Tags: gnu, emacs, 3_mains et richard_stallman Score: 53 Et voici une nouvelle version majeure pour notre éditeur de texte préféré. La fonctionnalité la plus attendue est certainement le prise en charge d’une forme native de concurrence pour le langage Emacs Lisp, qui devrait permettre la disparition d’actions bloquantes pour l’utilisateur. Pour celles et ceux ne vivant pas dans Emacs, on rappellera que ce n’est pas un simple éditeur de texte. D’abord, cette version d’Emacs est le bébé de Richard Stallman, ensuite, c’est surtout une machine virtuelle qui tourne en Emacs Lisp. On peut écrire des extensions avec un vrai langage de programmation, pour à peu près tout faire, y compris un éditeur de texte ou [le café](https://www.emacswiki.org/emacs/CoffeeMode). Emacs comptant une longue histoire, ses raccourcis clavier peuvent dérouter le débutant, qui devra passer par une phase d’apprentissage (`alt-x help-with-tutorial`) et appréciera certainement des [Kits de démarrage](http://wikemacs.org/wiki/Starter_Kits) comportant une configuration complète par défaut (les populaires étant [Prelude](https://github.com/bbatsov/prelude) et [Spacemacs](https://linuxfr.org/redirect/102148), orienté édition modale, avec une excellente émulation de vim, _evil-mode_, et une bonne aide interactive avec [_which-key-mode_](https://github.com/justbur/emacs-which-key)). Emacs et son écosystème (voir les extensions sur elpa (officiel) ou [melpa](https://melpa.org/)) comporte quelques « _killer‐apps_ », telles que Org-mode ou Magit, dont on profite pour parler un petit peu plus bas. ---- [Notes de version](https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS.26) [Dépêche pour Emacs 25.1](https://linuxfr.org/news/gnu-emacs-v25-1-regarder-youtube-dans-emacs) [Liens de téléchargement](https://alpha.gnu.org/gnu/emacs/pretest/) [Spacemacs, Emacs + modal editing + préconfigurations](http://spacemacs.org/) [Site officiel](https://www.gnu.org/software/emacs/) [Awesome-emacs, liste d’extensions incroyables et utiles](https://github.com/emacs-tw/awesome-emacs) [C’est la Z — Using Emacs series (vidéos)](https://cestlaz.github.io/stories/emacs/) ---- # Améliorations ## Org-mode 9.1 Emacs est livré avec [Org-mode](http://orgmode.org/) v9.1 par défaut. On peut bien sûr mettre à jour Org-mode indépendamment. Org-mode est un outil inégalé d’Emacs, à l’instar de [Magit](https://magit.vc/) ([vidéo sur _C’est la Z_](http://cestlaz.github.io/posts/using-emacs-47-magit)). Org-mode vous permet de noter « votre vie en texte brut ». C’est non seulement un langage de modèles (à la Markdown), mais un outil de gestion de tâches, de planning, de temps, de rédaction (exportations en LaTex, PDF, HTML, ODS...) et bien plus encore. _Cf._ une [vidéo d’introduction](http://cestlaz.github.io/posts/using-emacs-2-org) et la série de tutoriels [en](https://linuxfr.org/news/org-mode-1-5-gerer-ses-notes-avec-gnu-emacs) [trois](https://linuxfr.org/news/org-mode-2-5-inserer-des-tableaux-dans-vos-notes) [parties](https://linuxfr.org/news/org-mode-3-5-des-liens-et-des-images-dans-vos-notes) présentée ici‐même. ![Copie d’écran d’Org-mode](https://orgmode.org/img/main.jpg) ## Améliorations à Dired, le navigateur de fichiers [Dired](http://wikemacs.org/wiki/Dired) est le gestionnaire de fichiers en mode texte d’Emacs, que l’on obtient lorsque l’on ouvre un répertoire (`C-x C-f répertoire/` RET). On peut effectuer tout un tas d’opérations, avec les commandes d’édition de texte habituelles de notre configuration Emacs. N’oubliez pas de regarder les menus pour vous repérer au début. Dired a reçu plusieurs améliorations, par exemple dans le mode [`wdired`](https://www.gnu.org/software/emacs/manual/html_node/emacs/Wdired.html#Wdired) (_writable-dired_), si l’on met une ou des plusieurs obliques (_slashes_) dans un nom de fichier, les répertoires correspondants seront créés. Une nouvelle commande sur le W (`browse-url-of-dired-file`) permet d’ouvrir le fichier dans son navigateur Web (utile pour les HTML). Dans [image-dired](http://wikemacs.org/wiki/Dired#View_image_thumbnails), entre autres améliorations, la génération de vignettes (_thumbnails_) est maintenant asynchrone. ## Ajout d’une forme de concurrence avec les fils d’exécution Arrivée d’une couche plutôt bas niveau pour donner de la concurrence native au code Emacs Lisp. L’objectif est de rendre certaines opérations non bloquantes du point de vue utilisateur, et de manière plus intégrée pour le développeur que les [extensions actuelles](http://wikemacs.org/wiki/Concurrency). Sous le capot, on se rapproche assez de Python, avec un verrou (GIL) et les fils d’exécution (_threads_) qui s’exécutent chacun leur tour de manière coopérative. L’avenir nous dira ce qui émerge de ces fondations. ## Plein de couleurs pour le terminal Les couleurs codées sur 24 bits sont maintenant pleinement utilisées dans les terminaux adéquats. Pour les _n00bs_, sachez qu’Emacs est d’abord un logiciel avec des fenêtres graphiques. ;) ## Générateurs pour Emacs Lisp Emacs Lisp acquiert des générateurs [[_bon article_](https://nullprogram.com/blog/2018/05/31/)]. ## Rafraîchissement graphique par double tampon vidéo... ... et sous le gestionnaire X.Org, afin de supprimer les effets de clignotement (_flickering_) lorsque l’on redimensionnait des fenêtres. ## Nouvelle option mouse-drag-and-drop-region Cette nouvelle option permet de glisser‐déposer des régions de texte à la souris. Pour manipuler des régions de texte on aime bien [move-text](https://github.com/emacsfodder/move-text/). ## Tramp peut se connecter à Google Drive Cette fonctionnalité est basée sur le système de fichiers virtuel [GVFS](https://www.gnu.org/software/tramp/#GVFS-based-methods) de GNOME. [Tramp](http://wikemacs.org/wiki/TRAMP) permet de se connecter à des systèmes de fichiers distants (par exemple, se connecter à son serveur distant en SSH) et d’éditer les fichiers distants sous son Emacs habituel. Par ailleurs, Tramp peut maintenant envoyer un signal d’interruption [`SIGINT`](https://fr.wikipedia.org/wiki/SIGINT_(POSIX)) à un processus distant. ## Flymake, le vérificateur de syntaxe à la volée, a été complètement réécrit [Flymake](https://www.gnu.org/software/emacs/manual/html_node/emacs/Flymake.html) est le mode par défaut qui effectue les vérifications de syntaxe à la volée, pour tout langage de programmation. Il est en concurrence avec [Flycheck](http://www.flycheck.org/en/latest/), actuellement très bien pris en charge. Il gère maintenant plusieurs _back‐ends_ simultanés, il peut annoter des régions de texte et pas uniquement des lignes, il permet de définir des types de notification autres que « erreur » et « alerte » (_warning_), et son interface utilisateur a été revue. Il a été réécrit par João Tavora, auteur notamment du système de modèles [Yasnippet](https://github.com/joaotavora/yasnippet) et de l’[EDI](https://fr.wikipedia.org/wiki/Environnement_de_d%C3%A9veloppement_int%C3%A9gr%C3%A9 "environnement de développement intégré") Common Lisp [Sly](https://github.com/joaotavora/sly). ## Nouveau mode pour les numéros de ligne L’extension _linum-mode_ faisait le boulot, mais on a maintenant un mode réécrit en C et donc plus efficace. Pour l’activer globalement : `M-x global-display-line-numbers-mode`. ## Fichier unité systemd `systemctl --user enable emacs` Certainement utile pour emacs-server ou pour ceux qui utilisent emacs comme gestionnaire de fenêtres (ewnctl). ## Initialisation des variables locales On peut définir des variables spécifiques à un fichier ou à un répertoire (dans un fichier `.dir-locals`). Elles sont maintenant initialisées à chaque fois que leur mode majeur est activé, pas uniquement à la lecture du fichier ou répertoire. De plus, un second fichier est accepté : `.dir-locals-2.el` [_[doc](https://www.gnu.org/software/emacs/manual/html_node/emacs/Directory-Variables.html)_]. ## La fonction « occur » fonctionne sur une région On aime également [helm-swoop](http://wikemacs.org/wiki/Helm-swoop) : ![mode Helm-swoop dans Emacs](http://wikemacs.org/images/1/11/Helm-swoop.gif) ## Détection de fichier modifié améliorée Emacs ne demande plus de sauvegarder un fichier quand il n’a en fait pas été modifié. Au lieu de se baser uniquement sur la date de modification, Emacs regarde maintenant le contenu du fichier. ## Mode compilation amélioré pour CMake Les messages de CMake sont maintenant reconnus et le nombre d’erreurs, d’alertes et d’infos est affiché sur la _mode‐line_ en temps réel suivant la compilation. ## EWW, Emacs Web browser EWW reçoit son lot d’améliorations : - `M-RET`, pour ouvrir le lien dans un nouveau tampon ; - `s`, pour choisir un tampon eww avec le mini-tampon ; - `C`, pour basculer l’usage des couleurs ; - les images sont chargées de manière asynchrone. Tutoriel : . ## Ispell comprend d’autres moteurs de correction orthographique Ispell, le vérificateur d’orthographe, peut utiliser pour base d’autres logiciels comme Voikko, Hspell ou AppleSpell. # Conclusion Si vous n’avez jamais essayé, sachez que compiler Emacs n’est pas bien long. C’est avec cette nouvelle version que l’on pourra profiter de nouveaux paquets bien cools tels que, par exemple, [eglot](https://github.com/joaotavora/eglot), une interface généraliste au _Language Server Protocol_ ou [elbank](https://github.com/NicolasPetton/elbank), un gestionnaire de finances personnelles.

AltStyle によって変換されたページ (->オリジナル) /