Guide d’Emacs à l’intention des PDG
Josh Stella
11 novembre 2015
0 minutes de lectureNote de la rédaction
Cet article est paru à l’origine sur fugue.co. Fugue a rejoint Snyk en 2022 et constitue un élément clé de Snyk IaC.
Il y a des années — non, des décennies —, je vivais dans Emacs. J’y écrivais du code et des documents, gérais mes e-mails et mon agenda, et utilisais le shell, le tout dans cet éditeur/système d’exploitation. J’en étais très satisfait. Les années ont passé et je suis passé à des outils plus récents et plus brillants. Résultat : j’ai oublié comment effectuer des tâches aussi élémentaires que parcourir efficacement des fichiers sans souris. Il y a environ trois mois, en constatant le temps que je passais à basculer entre applications et ordinateurs, j’ai décidé de redonner sa chance à Emacs. C’était une bonne décision, pour plusieurs raisons que nous allons aborder dans cet article. Vous y trouverez aussi des conseils sur .emacs et Dropbox pour configurer un environnement efficace que vous pourrez emporter partout.
Si vous n’avez jamais utilisé Emacs, vous risquez de le détester… ou de l’adorer. C’est une sorte de machine de Rube Goldberg grande comme une maison qui, au premier abord, semble remplir toutes les fonctions d’un grille-pain. Difficile d’y voir un compliment, mais l’expression clé est « au premier abord ». Une fois qu’on a compris Emacs, on réalise que c’est un grille-pain thermonucléaire qui peut aussi servir de moteur pour… eh bien, à peu près tout ce que vous voulez faire avec du texte. Quand on pense à la place qu’occupe le texte dans notre vie numérique, c’est une affirmation audacieuse. Audacieuse, mais vraie.
Mais, chose peut-être plus importante à mes yeux, c’est la seule application que j’aie jamais utilisée qui me donne vraiment l’impression de la posséder, au lieu de faire de moi un « utilisateur » anonyme dont le portefeuille est habilement ciblé par les services marketing de grandes entreprises installées dans de beaux bureaux près de Soma ou de Redmond. Les applications modernes de productivité et de création (Pages ou les IDE, par exemple) ressemblent à des vélos de course en fibre de carbone : ils sont très bien équipés et entièrement assemblés. Emacs, c’est plutôt une boîte de pièces classiques Campagnolo et un magnifique cadre en acier à raccords, auquel il manque une manivelle et un levier de frein qu’il vous faudra dénicher dans une petite communauté de passionnés sur Internet. Le premier est plus rapide et complet. Le second est une source de joie ou d’agacement sans fin, selon votre personnalité — et vous accompagnera jusqu’à la fin de vos jours. Je fais partie de ceux qui éprouvent autant de plaisir à trouver un vieux stock de pièces Campy qu’à peaufiner mon éditeur avec eLisp. À vous de voir.

Cela peut donner l’impression qu’Emacs est anachronique ou démodé. Ce n’est pas le cas. Puissant et intemporel, il exige toutefois qu’on prenne le temps de le comprendre selon ses propres règles. Celles-ci sont assez éloignées des sentiers battus et peuvent sembler étranges, mais elles obéissent à une logique à la fois convaincante et séduisante. À mes yeux, Emacs évoque davantage l’avenir que le passé. Tout comme le cadre en acier à raccords sera encore pratique et confortable dans plusieurs décennies, tandis que le vélo fantaisie en fibre de carbone finira à la décharge après s’être brisé à l’impact, Emacs restera un outil utile quand la dernière application à la mode sera depuis longtemps oubliée.
Si l’idée de créer votre propre environnement de travail en modifiant du code Lisp, puis de l’emporter sur n’importe quel ordinateur, où il vous ira comme un gant, vous séduit, vous pourriez vraiment aimer Emacs. Si vous préférez les nouveautés brillantes et voulez vous mettre au travail sans investir beaucoup de temps ni d’énergie mentale, ce n’est probablement pas pour vous. Je n’écris plus de code (à l’exception de Ludwig et d’Emacs Lisp), mais beaucoup d’ingénieurs de Fugue utilisent Emacs avec efficacité. Je dirais que chez nos ingénieurs, 30 % utilisent Emacs, 40 % des IDE et 30 % Vim. Mais cet article porte sur Emacs pour les PDG et autres chefs à la Dilbert (PHB) [1] (et, bien sûr, toute personne curieuse). Je vais donc expliquer et/ou justifier pourquoi je l’aime et comment je l’utilise. J’espère aussi vous donner suffisamment de détails pour que votre expérience soit concluante, sans passer des heures à chercher sur Google.
Des avantages durables
Les avantages à long terme d’Emacs simplifient vraiment la vie. Le gain global justifie largement l’effort initial. Voyons cela de plus près :
Fini le changement constant de contexte
Org Mode justifie à lui seul d’y consacrer beaucoup de temps, mais si vous êtes comme moi, vous travaillez généralement sur une douzaine de documents : articles de blog, listes de choses à faire pour une conférence, évaluations d’employés… Dans le monde informatique moderne, cela implique généralement d’utiliser plusieurs applications, chacune avec une interface distrayante et sa propre façon de stocker, trier et rechercher les informations. Résultat : vous devez constamment changer de contexte mental et vous souvenir de détails insignifiants. Je déteste ce changement de contexte, imposé par un modèle d’interface défaillant[2], et je déteste devoir me souvenir de choses que mon ordinateur devrait retenir pour moi, dans un monde rationnel. En offrant un environnement unique, Emacs est encore plus utile aux PHB qu’aux programmeurs, car ces derniers passent généralement une plus grande partie de leur journée dans une seule application. Le coût du changement de contexte mental est souvent sous-estimé. Les éditeurs de systèmes d’exploitation et d’applications ont maquillé leurs interfaces pour nous détourner de cette réalité. Si vous avez des compétences techniques, pouvoir accéder à un puissant interpréteur de langage à l’aide d’un seul raccourci clavier (M-:) est particulièrement utile.[3]
De nombreuses applications peuvent être utilisées toute la journée en plein écran pour modifier du texte. Emacs se distingue parce qu’il est à la fois éditeur et interpréteur Lisp. En gros, vous avez en permanence une machine de Turing complète à portée d’une ou deux frappes, pendant que vous vaquez à vos occupations. Si vous connaissez un peu — ou beaucoup — la programmation, vous comprendrez que cela signifie que vous pouvez faire n’importe quoi dans Emacs. Une fois les commandes mémorisées, toute la puissance de votre ordinateur est à votre disposition, presque en temps réel, pendant que vous travaillez. Vous n’aurez pas envie de recréer Excel en eLisp, mais la plupart des tâches que vous pourriez effectuer dans Excel sont de moindre envergure et faciles à réaliser en une ou deux lignes de code. Si je dois faire des calculs, je préfère ouvrir le tampon scratch et écrire un peu de code plutôt que de lancer un tableur. Même si j’ai un e-mail à rédiger qui ne tient pas en une seule ligne, je l’écris généralement dans Emacs avant de le coller dans mon client de messagerie. Pourquoi changer de contexte quand on peut simplement garder le fil ? Vous pouvez commencer par un ou deux calculs simples, puis ajouter au fil du temps, assez facilement, tout ce que vous avez besoin de calculer dans Emacs. C’est peut-être unique parmi les applications qui proposent aussi des fonctions avancées pour créer des choses destinées à d’autres personnes. Vous vous souvenez des terminaux magiques dans les livres d’Isaac Asimov ? Emacs est ce qui s’en rapproche le plus à mes yeux.[4] Je ne me demande plus quelle application utiliser pour telle ou telle tâche. Je travaille, tout simplement. Un outil formidable auquel on s’engage pleinement apporte une réelle puissance et une grande efficacité.
Créer dans le calme
Quel est le résultat final ? Disposer des meilleures fonctions de modification de texte que j’aie jamais trouvées, d’une communauté qui crée toutes sortes d’extensions utiles et de toute la puissance de Lisp à portée d’une combinaison de touches ? C’est que j’utilise Emacs pour tous mes travaux de création, sauf pour la musique et les images.
J’ai deux écrans sur mon bureau. L’un est en mode portrait, avec Emacs affiché en plein écran toute la journée. L’autre me sert à faire des recherches et à lire dans un navigateur web ; un terminal y est généralement ouvert aussi. Mon agenda, mes e-mails et le reste se trouvent sur un autre bureau sous OS X, masqué quand je travaille dans Emacs. J’ai également désactivé toutes les notifications. Cela me permet de me concentrer réellement sur ce que je fais. J’ai constaté qu’il est presque impossible d’éliminer les distractions dans les applications modernes, dont les interfaces cherchent à être utiles et faciles à utiliser. Je n’ai pas besoin qu’on me rappelle sans cesse comment effectuer des opérations que j’ai réalisées des dizaines de milliers de fois. En revanche, j’ai besoin d’une belle page blanche et épurée pour réfléchir. Peut-être que l’âge et les épreuves m’ont rendu peu apte à vivre dans un environnement bruyant, mais je pense que tout le monde gagnerait à essayer. Voyez ce que cela fait de retrouver un peu de calme dans votre environnement informatique. Bien sûr, de nombreuses applications proposent aujourd’hui des modes qui masquent l’interface et, heureusement, Apple et Microsoft ont désormais de vrais modes plein écran. Mais aucune autre application n’est assez puissante pour qu’on puisse y « vivre » pour la plupart de ses activités. À moins d’écrire du code toute la journée ou de travailler sur un document très long, comme un livre, vous devrez toujours subir le bruit des autres applications. De plus, la plupart des applications modernes semblent à la fois condescendantes et déficientes en matière de fonctionnalités et d’ergonomie.[5] Les seules applications que j’aime encore moins que les suites bureautiques sont leurs versions en ligne.

Et pour communiquer ? La différence entre créer et communiquer est considérable. Je suis bien plus productif dans les deux cas lorsque je leur réserve des créneaux distincts. Chez Fugue, nous utilisons Slack, à la fois merveilleux et infernal. Je le garde sur un bureau consacré aux messages, avec mon agenda et mes e-mails, afin de pouvoir ignorer joyeusement tout le bavardage du monde quand je crée. Il suffit d’une tempête Slack ou d’un e-mail d’un investisseur en capital-risque ou d’un membre du conseil d’administration pour me faire immédiatement perdre le fil. Mais la plupart des choses peuvent attendre une heure ou deux.
Tout emporter avec soi et tout conserver
La troisième raison pour laquelle Emacs me semble supérieur aux autres environnements, c’est qu’il est facile d’emporter toutes ses affaires avec soi. Au lieu d’avoir une multitude d’applications qui interagissent et se synchronisent chacune à leur manière, il suffit de synchroniser un ou deux répertoires avec Dropbox ou un service similaire. Vous pouvez ainsi retrouver partout vos travaux dans l’environnement que vous avez conçu selon vos besoins. Je fais cela sous OS X, Windows et parfois Linux. C’est d’une simplicité enfantine et fiable. Cette possibilité m’est tellement utile que je redoute de devoir utiliser Pages, GDocs, Office ou d’autres types de fichiers et d’applications qui m’obligent à retrouver des éléments quelque part dans le système de fichiers ou dans le cloud.
Le format de fichier est ce qui limite la conservation à long terme des données sur un ordinateur. Si l’on part du principe que l’humanité a désormais résolu une fois pour toutes le problème du stockage[6], la question qui se pose au fil du temps est de savoir si nous pourrons encore accéder aux informations que nous avons créées. Les fichiers texte sont le format informatique qui dure le plus longtemps. Emacs peut facilement ouvrir un fichier texte datant de 1970. On ne peut pas en dire autant des applications bureautiques. Les fichiers texte sont également très légers — bien plus petits que les fichiers de données des suites bureautiques. Collectionneur numérique et habitué à prendre quantité de petites notes au fil des idées qui me passent par la tête, je tiens à disposer d’une collection simple, légère, pérenne et toujours accessible.
Si vous êtes prêt à essayer Emacs, poursuivez votre lecture ! Les sections suivantes ne remplacent pas un tutoriel complet, mais vous permettront de commencer à l’utiliser avant d’arriver au bout.
Apprendre à utiliser Emacs — configuration technique
Le prix à payer pour toute cette puissance, ce calme et cette tranquillité d’esprit, c’est la courbe d’apprentissage abrupte d’Emacs et son fonctionnement très différent de ce à quoi vous êtes habitué. Au début, vous aurez l’impression de perdre votre temps avec une application archaïque et étrange, laissée de côté par le monde moderne. C’est un peu comme apprendre à faire du vélo[7] quand on n’a jamais conduit que des voitures.
Quelle version d’Emacs ?
J’utilise la version standard d’Emacs de GNU pour OS X et Windows. Vous trouverez la version OS X ici : http://emacsformacosx.com/, et la version Windows ici : http://www.gnu.org/software/emacs/. Il en existe beaucoup d’autres, surtout pour Mac, mais j’ai constaté que la courbe d’apprentissage des fonctions avancées (qui font appel à Lisp et à de nombreux modes) est bien moins raide avec la version officielle. Téléchargez-la et commençons ![8]
Pour commencer, apprenez à vous déplacer
Dans ce document, j’utilise les conventions Emacs pour les touches et leurs combinaisons : « C » pour Ctrl, « M » pour Meta (généralement associé à Alt ou Option), et le trait d’union indique qu’il faut maintenir les touches enfoncées simultanément. Ainsi, C-h t signifie qu’il faut maintenir Ctrl et appuyer sur h, puis relâcher Ctrl et appuyer sur t. Cette commande ouvre le tutoriel : je vous conseille de le lancer maintenant.
N’utilisez ni les touches fléchées ni la souris. Elles fonctionnent, mais accordez-vous une semaine pour utiliser les commandes de navigation natives d’Emacs. Une fois qu’elles seront ancrées dans votre mémoire musculaire, vous les apprécierez sans doute et elles vous manqueront beaucoup ailleurs. Le tutoriel d’Emacs vous les présente plutôt bien, mais voici un résumé pour vous éviter de tout lire. En gros, au lieu des flèches, utilisez C-b pour reculer, C-f pour avancer, C-p pour aller à la ligne précédente (vers le haut) et C-n pour la suivante (vers le bas). Vous vous demandez peut-être « pourquoi faire ça, alors que j’ai de très bonnes touches fléchées ? » Il y a plusieurs raisons. D’abord, vous n’avez pas besoin de déplacer les mains de la position de frappe. De plus, les touches avant et arrière utilisées avec Alt (ou Meta dans Emacspeak) permettent de naviguer mot par mot. C’est plus pratique qu’il n’y paraît. Troisième avantage important : pour répéter une commande, il suffit de la faire précéder d’un nombre. Je le fais souvent lorsque je modifie des documents : j’estime le nombre de mots à remonter ou de lignes à parcourir, puis je saisis quelque chose comme C-9 C-p ou M-5 M-b. Les autres commandes de navigation vraiment importantes reposent sur a pour le début d’un élément et e pour sa fin. C-a|e s’utilise pour les lignes, tandis que M-a|e s’utilise pour les phrases. Pour que les commandes de phrase fonctionnent correctement, vous devrez insérer deux espaces après les points. Cela offre une fonctionnalité utile tout en éliminant un avis comme sujet de débat. Si vous devez exporter le document dans un environnement de publication à espace simple, vous pouvez écrire une macro en quelques instants.
Ça vaut vraiment la peine de suivre le tutoriel fourni avec Emacs. Je vais présenter quelques commandes importantes pour les plus impatients, mais le tutoriel est une mine d’or. Rappel : C-h t ouvre le tutoriel.
Apprenez à copier et coller
Vous pouvez activer le mode CUA d’Emacs, qui fonctionne de manière familière. Mais la méthode native d’Emacs est vraiment excellente et très facile à utiliser une fois maîtrisée. Pour marquer des zones (comme lors d’une sélection), maintenez la touche Maj enfoncée tout en utilisant les commandes de navigation. Ainsi, C-F sélectionne le caractère suivant le curseur, etc. Pour copier, utilisez M-w ; pour couper, C-w ; et pour coller, C-y. Ces opérations s’appellent en réalité « tuer » et « tirer », mais elles sont très proches du copier-coller. Le kill ring cache quelques astuces, mais pour l’instant, contentez-vous de couper, copier et coller. Si vous vous emmêlez les pinceaux, C-x u annule la dernière action…
Ensuite, découvrez le mode Ido
Faites-moi confiance : Ido facilite grandement la gestion des fichiers. Dans Emacs, on n’utilise généralement pas une fenêtre Finder|Explorateur séparée pour travailler sur des fichiers. On se sert plutôt des commandes de l’éditeur pour créer, ouvrir et enregistrer des fichiers. Sans Ido, c’est un peu pénible ; je vous recommande donc de l’installer avant d’apprendre l’autre méthode. Ido est inclus dans Emacs depuis la version 22, mais vous devrez modifier un peu votre fichier .emacs pour qu’il soit toujours utilisé. C’est une bonne occasion de configurer votre environnement.
La plupart des fonctionnalités d’Emacs sont organisées en modes. Pour installer un mode, vous devrez effectuer deux opérations. Enfin, au début, il faudra en faire quelques-unes de plus, mais elles ne sont à réaliser qu’une seule fois ; ensuite, il n’y en aura que deux. Vous devrez donc d’abord choisir un emplacement unique pour tous vos fichiers eLisp et indiquer à Emacs où le trouver. Je vous conseille de créer un dossier unique dans Dropbox, par exemple, qui servira de dossier d’accueil Emacs. À l’intérieur, créez un fichier .emacs et un répertoire .emacs.d. Dans .emacs.d, créez un répertoire nommé lisp. Vous devriez donc avoir ceci :
Placez les fichiers .el des modes, par exemple, dans le répertoire home/.emacs.d/lisp, puis indiquez ce chemin dans votre fichier .emacs comme suit :
Le mode Ido est fourni avec Emacs : vous n’aurez donc pas besoin de placer un fichier .el dans votre répertoire Lisp pour celui-ci. Mais vous y ajouterez bientôt d’autres éléments.
Les liens symboliques sont vos amis
Attendez, le fichier .emacs et le répertoire .emacs.d sont censés se trouver dans votre répertoire personnel, alors que nous les avons placés dans un dossier quelconque de Dropbox ! Exactement. C’est ainsi que vous pouvez retrouver facilement votre environnement où que vous soyez. Conservez tout dans Dropbox et créez des liens symboliques vers .emacs, .emacs.d et vos principaux répertoires de documents dans ~. Sous OS X, c’est très simple avec la commande ln -s, mais sous Windows, c’est pénible. Heureusement, Emacs propose une solution de rechange simple aux liens symboliques sous Windows : la variable d’environnement HOME. Ouvrez les variables d’environnement dans Windows (depuis Windows 10, appuyez simplement sur la touche Windows et saisissez « Variables d’environnement » dans la recherche — c’est le meilleur aspect de Windows 10), puis créez une variable HOME pour votre compte qui pointe vers le dossier Dropbox créé pour Emacs. Si vous souhaitez accéder facilement aux fichiers locaux qui ne sont pas dans Dropbox, vous pouvez plutôt créer un lien symbolique vers le dossier d’accueil Emacs de Dropbox dans votre véritable répertoire personnel.
Vous avez maintenant effectué toutes les manipulations nécessaires pour connecter n’importe quelle machine à votre configuration et à vos fichiers Emacs. Si vous achetez un nouvel ordinateur ou utilisez celui de quelqu’un d’autre pendant une heure ou une journée, vous retrouvez tout votre environnement de travail. La première fois, cela peut sembler un peu compliqué, mais une fois que vous savez comment faire, l’opération ne prend pas plus de dix minutes.
Mais nous étions en train de configurer Ido…
Utilisez C-x C-f, puis saisissez ~/.emacs RET RET pour créer votre fichier .emacs. Ajoutez-y ces lignes :
Une fois le tampon .emacs ouvert, exécutez la commande M-x evaluate-buffer. Si vous avez fait une erreur, un message s’affichera ; sinon, Ido sera activé. Ido modifie le fonctionnement du minibuffer lors des opérations sur les fichiers. La documentation est excellente, mais voici quelques conseils. Tirez parti de ~/ : vous pouvez saisir ~/ à tout moment dans le minibuffer pour revenir au répertoire d’accueil. Cela suppose que la plupart de vos fichiers soient facilement accessibles depuis votre répertoire personnel. J’utilise ~/org pour tout ce qui n’est pas du code et ~/code pour le code. Une fois dans le bon répertoire, vous aurez souvent des fichiers avec différentes extensions, surtout si vous utilisez Org Mode et publiez depuis celui-ci. Vous pouvez saisir un point suivi de l’extension souhaitée, où que vous soyez dans le nom du fichier, et Ido limitera les choix aux fichiers ayant cette extension. Par exemple, je rédige cet article de blog dans Org Mode : le fichier principal est donc :
J’en génère aussi parfois une version HTML à l’aide de la fonction de publication d’Org Mode ; j’ai donc un fichier emacs.html dans le même répertoire. Pour ouvrir le fichier Org, je saisis :
Les [RET] indiquent que j’appuie sur Entrée pour utiliser la saisie semi-automatique d’Ido Mode. Cela représente 12 caractères saisis et, une fois habitué, prend bien moins de temps que d’ouvrir Finder|Explorateur et de cliquer un peu partout. Ido Mode est très pratique, mais il s’agit surtout d’un mode utilitaire pour utiliser Emacs. Découvrons maintenant quelques modes utiles pour travailler.
Polices et styles
Je vous recommande d’utiliser l’excellente famille de polices Input dans Emacs. Elle est personnalisable : accolades, zéros et autres caractères peuvent être modifiés. Vous pouvez intégrer davantage d’interligne directement dans les fichiers de polices. Je recommande un interligne de 1,5 et leurs excellentes polices proportionnelles pour le code et les données. Pour écrire, j’utilise Input Serif, au style original et moderne. Vous les trouverez sur http://input.fontbureau.com/ et pourrez les personnaliser selon vos préférences. Vous pouvez définir les polices manuellement à l’aide des menus d’Emacs, mais cela ajoute du code à votre fichier .emacs. Si vous utilisez plusieurs appareils, vous souhaiterez peut-être des paramètres différents. J’ai configuré mon fichier .emacs pour détecter le nom de la machine utilisée et configurer l’affichage en conséquence. Voici le code :
Remplacez les valeurs de system-name par le résultat obtenu en évaluant (system-name) dans votre version d’Emacs. Sur Sampo (mon MacBook), j’ai également configuré Emacs pour qu’il s’affiche en plein écran. J’aimerais faire la même chose sous Windows, mais Windows et Emacs ne s’entendent pas très bien et le résultat est toujours bancal. Je passe donc simplement en plein écran manuellement après le lancement.
Je vous recommande également de supprimer cette horrible barre d’outils qu’Emacs a adoptée dans les années 1990, à l’époque où toutes les applications se devaient d’en avoir une. J’ai aussi supprimé quelques autres éléments d’interface superflus pour obtenir une interface simple et productive. Ajoutez ces lignes à votre fichier .emacs pour supprimer la barre d’outils et les barres de défilement, tout en conservant le menu (sous OS X, il reste de toute façon masqué jusqu’à ce que vous déplaciez la souris en haut de l’écran) :
Org Mode
Je passe pratiquement tout mon temps dans Org Mode. C’est mon environnement de prédilection pour rédiger des documents, prendre des notes, créer des listes de tâches et faire 90 % de tout le reste. Org a d’abord été imaginé comme un outil combinant prise de notes et listes de tâches par quelqu’un qui utilise son ordinateur portable en réunion. Je suis opposé à l’utilisation d’ordinateurs portables en réunion et je n’en utilise pas moi-même ; mes besoins sont donc un peu différents des siens. Pour moi, Org permet surtout de gérer toutes sortes de contenus de manière structurée. Org Mode comprend des titres, des sous-titres, etc., qui s’organisent comme un plan. Org permet de développer ou de masquer le contenu de l’arborescence, et aussi de la réorganiser. Cette approche correspond très bien à ma façon de penser et je trouve très agréable de travailler ainsi.
Org Mode comporte aussi beaucoup de petites fonctionnalités qui facilitent la vie. Par exemple, la gestion des notes de bas de page est excellente et la sortie LaTeX/PDF est très réussie. Org peut générer des agendas à partir des tâches à faire présentes dans tous vos documents et permet de les associer facilement à des dates et des heures. Je ne m’en sers pas pour les engagements externes, qui sont gérés dans un calendrier partagé, mais pour créer des choses et suivre ce que je devrai créer plus tard, c’est indispensable. Pour l’installer, il suffit d’ajouter org-mode.el à votre répertoire Lisp et d’ajouter ces lignes à votre fichier .emacs, si vous souhaitez que l’indentation dépende de la position dans l’arborescence et que les documents s’ouvrent entièrement développés :
La dernière ligne indique à Org où chercher les fichiers à inclure dans les agendas et d’autres éléments. Je conserve Org directement dans mon répertoire personnel, sous la forme d’un lien symbolique vers le répertoire situé dans Dropbox, comme expliqué plus haut.
J’ai un fichier stuff.org toujours ouvert dans un tampon. Je m’en sers comme d’un bloc-notes. Org facilite l’extraction d’éléments comme les tâches à faire et celles assorties d’échéances. C’est particulièrement utile lorsqu’on peut intégrer du code Lisp et l’évaluer au besoin. Associer du code à du contenu est très pratique. Là encore, avec Emacs, vous avez accès à l’ordinateur lui-même, et cela vous libère.
Publier avec Org Mode
L’apparence et la mise en forme de mes documents comptent pour moi. J’ai commencé ma carrière comme designer et je pense que l’information peut et doit être présentée clairement et avec élégance. Org permet très bien de générer des PDF avec LaTeX. L’apprentissage de LaTeX demande un peu d’efforts, mais les opérations simples sont assez faciles.
Si vous souhaitez utiliser d’autres polices et styles que ceux proposés habituellement par LaTeX, quelques étapes sont nécessaires. D’abord, utilisez XeLaTeX afin de pouvoir employer les polices standard du système plutôt que celles propres à LaTeX. Ensuite, ajoutez ceci à votre fichier .emacs :
J’ajoute ces lignes à la fin de la section Org de mon fichier .emacs, pour que tout reste bien organisé. Elles permettent d’utiliser davantage d’options de mise en forme lors de la publication depuis Org. Par exemple, j’utilise souvent :
Il suffit de les placer quelque part dans votre fichier .org. Notre police d’entreprise pour le corps du texte est Maison Neue, mais vous pouvez choisir celle qui convient. Je déconseille vivement Maison Neue. C’est une police affreuse et personne ne devrait jamais l’utiliser.
Ce fichier est un exemple de sortie PDF avec ces paramètres. Voici à quoi ressemble toujours LaTeX sans configuration particulière. Ce n’est pas mal, je suppose, mais les polices sont monotones et un peu étranges. De plus, si vous utilisez le format standard, les gens penseront qu’ils lisent un article universitaire — ou qui prétend l’être. Vous voilà prévenus.
Mode Ace Jump
C’est plutôt une petite pépite qu’une fonctionnalité majeure, mais vous allez l’adorer. Elle fonctionne un peu comme la fonction Leap de Jef Raskin, à l’époque.[9] Pour l’utiliser, tapez C-c C-SPC, puis saisissez la première lettre du mot que vous voulez atteindre. Toutes les occurrences des mots commençant par cette lettre sont mises en évidence et remplacées par une lettre de l’alphabet. Il vous suffit de taper la lettre correspondant à l’emplacement souhaité pour y déplacer le curseur. Je m’en sers aussi souvent que des touches de navigation ou de recherche habituelles. Téléchargez le fichier .el dans votre répertoire Lisp et ajoutez ceci à votre fichier .emacs :
La suite, plus tard
C’est tout pour cet article — j’espère que cela vous aidera à avancer dans la direction qui vous intéresse. J’aimerais beaucoup connaître vos usages d’Emacs en dehors de la programmation (ou pour programmer !) et savoir si cet article vous a été utile. Il y a probablement quelques grosses erreurs de débutant dans ma façon d’utiliser Emacs ; si vous voulez me les signaler, je vous en serais reconnaissant. J’écrirai sans doute des mises à jour au fil du temps pour présenter d’autres fonctionnalités ou modes. Je vous montrerai bien sûr comment utiliser Fugue avec Emacs et Ludwig-mode, à mesure que nous le ferons évoluer au-delà de la simple coloration syntaxique. Envoyez vos commentaires à @fugueHQ sur Twitter.
Notes de bas de page
Si vous êtes désormais un PHB, mais que vous n’avez jamais eu de compétences techniques, Emacs n’est probablement pas fait pour vous. Quelques personnes pourraient découvrir les aspects plus techniques de l’informatique grâce à Emacs, mais elles sont sans doute peu nombreuses. Pour qu’Emacs ait du sens, mieux vaut savoir utiliser un terminal Unix ou Windows, avoir modifié un ou deux fichiers de configuration et avoir déjà écrit du code au cours de votre vie.
Je m’en sers surtout pour faire des calculs pendant que j’écris. Par exemple, je rédigeais une lettre d’offre pour une nouvelle recrue et je voulais calculer le nombre d’options à inclure. Comme j’ai défini une variable pour le nombre d’actions en circulation dans mon fichier
.emacs, je peux simplement saisirM-: (* .001 outstanding-shares)pour obtenir un dixième de point, sans ouvrir de calculatrice ni de tableur. Je stocke beaucoup de nombres dans des variables de ce type afin d’éviter de changer de contexte.Il manque le Web. Il existe un navigateur Web pour Emacs, appelé eww, qui permet de naviguer dans Emacs. Je l’utilise, car il bloque très bien les publicités et évite que les choix de lisibilité souvent discutables des concepteurs Web ne s’imposent. C’est un peu comme le mode Lecture de Safari. Malheureusement, la plupart des sites Web regorgent d’éléments superflus et de menus de navigation qui passent mal en texte.
On confond souvent facilité d’utilisation et facilité d’apprentissage. La facilité d’apprentissage désigne la difficulté à apprendre à utiliser un outil. La facilité d’utilisation, elle, mesure à quel point cet outil est pratique. Ces deux notions sont souvent en opposition, comme avec la souris et les menus. Les menus sont faciles à apprendre, mais peu pratiques ; c’est pourquoi les raccourcis clavier existent depuis les tout débuts. Raskin avait raison sur bien des points concernant les interfaces graphiques, même si on ne l’a pas écouté. Aujourd’hui, les systèmes d’exploitation ajoutent des fonctions comme une recherche efficace accessible par raccourci clavier. Sous OS X et Windows, j’utilise la recherche comme méthode de navigation par défaut. Celle d’Ubuntu est complètement défaillante, tout comme le reste de son interface graphique.
AWS S3 a pratiquement résolu le problème du stockage de fichiers, tant qu’Internet existe. Des milliers de milliards d’objets sont stockés dans S3, et aucun n’a jamais été perdu. La plupart des services de stockage dans le cloud reposent sur S3 ou l’imitent. Personne n’atteint l’échelle de S3, alors j’y conserve mes fichiers importants, via Dropbox.
À ce stade, vous vous demandez peut-être : « Qu’est-ce qu’il a, celui-là, avec les vélos ? »… Je les aime à tous les niveaux. C’est le moyen de transport le plus efficace mécaniquement jamais inventé. Ils peuvent être de véritables objets d’art. Et, avec un peu d’entretien, ils peuvent durer toute une vie. En 2001, j’ai demandé à Rivendell Bicycle Works de me fabriquer un cadre, et il me fait toujours plaisir chaque fois que je le regarde. Les vélos et UNIX sont les deux meilleures inventions que j’aie rencontrées. Enfin, avec Emacs.
Ceci n’est pas un tutoriel sur Emacs. Le logiciel en comprend un, qui est excellent. Je présente quelques éléments que je considère essentiels pour configurer Emacs de manière utile, mais cet article ne saurait en aucun cas le remplacer.
Jef Raskin a conçu l’ordinateur Canon Cat dans les années 1980, après s’être brouillé avec Steve Jobs au sujet du projet Macintosh, qu’il avait dirigé à l’origine. Le Cat avait une interface centrée sur les documents (comme devraient l’être tous les ordinateurs) et exploitait le clavier de façon novatrice, une approche que vous pouvez aujourd’hui reproduire avec Emacs. Si je pouvais avoir un Cat moderne et puissant, doté d’un grand écran haute résolution et fonctionnant sous Unix, j’échangerais mon Mac contre lui sans hésiter : https://youtu.be/o_TlE_U_X3c?t=19s
Une sécurité IaC pensée pour les développeurs
Snyk sécurise votre infrastructure en tant que code, du cycle de développement logiciel à l’exécution dans le cloud, grâce à un moteur unifié de politiques sous forme de code. Chaque équipe peut ainsi développer, déployer et exploiter ses applications en toute sécurité.



