Emacs

 · Temps de lecture: 5 mins

Emacs est un puissant éditeur de texte et de code source possédant nombreux avantages, disponible en GUI et CLI depuis 1984. Dans cet article, je présenterai les atouts du logiciel et je vous apprendrez quelques bases essentielles à connaître afin de l’utiliser.

Les atouts du logiciel

Libre et multiplateforme

Emacs est un outil libre sous licence GPLv3 qui n’essaie aucunement de vous faire payer contrairement à d’autres éditeurs. De plus, il est disponible sur GNU/Linux, MacOS, Windows, Android avec Termux, FreeBSD, NetBSD, OpenBSD et Solaris! Vous pouvez donc l’essayer quelque soit votre système d’exploitation.

Disponible en version GUI et CLI

Emacs peut fonctionner en Graphical User Interface et en Command Line Interface. Si vous n’avez pas l’habitude de taper des commandes dans un shell/cmd je vous conseille la version graphique. Cette dernière a l’avantage de permettre l’affichage d’images, d’usage de la souris et de laisser l’utilisateur naviguer sur un menu avec une barre d’outils.

Léger et modulaire

Emacs est extrêmement léger et consomme peu de ressources. Le logiciel a été initialement conçu pour traiter du texte dans un terminal. Par conséquent, ce dernier fonctionne aussi bien sur des machines modernes que sur des vieux modèles.

En outre, Emacs propose des fonctionnalités d’IDE optionelles intéressante pour ceux désirant utiliser son potentiel complet. Le logiciel permet de gérer des projets avec de nombreux modules tel org mode, générer du code, trouver rapidement des déclarations de fonctions, etc…

La possibilité de n’utiliser qu’un clavier

Avec Emacs, il est possible de n’utiliser que votre clavier que ce soit pour la version CLI (évidemment) ou GUI. L’usage de la souris n’est donc pas obligatoire et sans même lever les mains de votre clavier, vous pouvez tout accomplir! De surcroît, les raccourcis par défauts de l’éditeur ont tous été créés afin d’optimiser la vitesse d’entrée de commandes. Par exemple, les touches dédiées du clavier, comme Home, End, et les touches fléchées sont toutes remplacées par les touches ctrl et alt/maj du clavier. Pour plus d’info sur les raccourcis de base, allez jeter un coup d’oeuil au tableau à la fin de cet article.

Propositions utiles variant selon le contexte

En plus des fonctions de manipulation de texte, Emacs fournit des fonctions dépendant du contexte dans lequel il est utilisé. Par exemple, si vous codez du Python, le logiciel va vous proposer de démarrer l’interpréteur Python afin d’exécuter votre script / programme. Si vous rédigez un mail, le logiciel peut vous proposer d’ajouter des champs à celui-ci ou même des pièces jointes. L’éditeur peut être facilement configuré pour satisfaire n’importe quel utilisateur. Je vous propose d’ailleurs ma configuration sur le Wiki HackDown.

Tutoriel inclus

Emacs inclut un tutoriel disponible dans plusieurs langues qui permet d’aider les débutants à se familiariser avec toutes ses commandes et raccourcis. Ce tutoriel est accessible depuis le buffer d’accueil et explique comment manipuler le texte, structurer le logiciel, importer des modes et fenêtres, etc…

Kill-ring et Mark-ring

Le presse-papier d’Emacs possède un grand avantage : il conserve toutes les entrées en mémoire. Quand on y place du texte, ce qui y était précédemment n’est pas perdu. Ainsi, quand on colle le contenu du presse-papier, on peut sélectionner l’élément que l’on veut coller parmi tous ceux qui ont été collés. Par défaut, c’est le plus récent qui s’affichera.

Par exemple, si j’ai le texte “vieux message” dans le presse-papier et que j’y place le texte “nouveau message”. Au moment de coller le contenu du presse-papier, j’obtiens “nouveau message”. Avec un simple raccourci clavier, je peux remplacer ce texte par “vieux message”. Je peux ainsi remonter dans l’historique du presse-papier. Dans cette historique, la fin est reliée au début, formant un anneau. D’où le nom “kill-ring”.

L’éditeur Emacs permet aussi de placer des marqueurs au sein du texte manipulé. On peut ensuite facilement faire sauter le curseur d’un marqueur à l’autre. Cette fonctionnalité est très pratique lorsqu’on souhaite revenir plus tard sur un bout de code. Encore une fois, l’historique des marqueurs forme un anneau, d’où l’apellation “mark-ring”.

Macro clavier

Emacs supporte en plus les macros : vous pouvez enregistrer ce que vous tapez afin de rapidement répéter le texte / commandes que vous avez entré dans l’éditeur. Il est aussi possible de préciser le nombre de répétitions de votre macro. Lors de l’enregistrement d’une macro, un compteur peut être inséré dans le texte. On peut aussi donner un nom à cette macro pour l’appeler comme une fonction interactive et la sauvegarder pour qu’elle survive à la session. Évidemment, vous pouvez aussi éditer votre macro dans un autre session!

Fermeture automatique et mise en évidence des délimiteurs

Emacs peut automatiquement fermer des parenthèses / guillemets. Par exemple, si je tape “, l’éditeur me proposera de fermer la chaîne de caractères avec un “ fermant. Si je sélectionne une région et que je tape un guillemet ou une parenthèse, Emacs entourera cette région avec le caractère choisi. Et si je place le curseur de clavier à coté d’une parenthèse (ou d’un guillemet), alors sa parenthèse (ou guillemet) correspondante sera mise en évidence.

Les bases d’Emacs

Raccourcis essentiels

Voici un tableau présentant les commandes essentielles à l’utilisation du logiciel (ctrl=C et alt=M):

ShortcutC-x C-cC-x C-gC-vM-vC-lC-bM-bC-fM-fC-nC-p
FunctionQuit EmacsCancel partially entered commandMove one screen forwardMove one screen backwardMiddle of page / End of page / Beginning of page (stays on same line)Move one character backwardMove one word backwardMove one character forwardMove one word forwardNext linePrevious Line

Ressources


Publié par Luka Lafaye de Micheaux