Page suivante Page précédente Table des matières
1. Les bases d'Emacs
Par Paul Anderson.
1.1 Introduction
Emacs est, par nature, un programme très difficile à utiliser. Laissés seuls face à Emacs, la plupart des gens ne savent même pas comment le fermer. Je ne vais pas parler ici de la configuration d'Emacs, qui est un art à part entière qu'il faudrait déjà que j'apprenne à maîtriser.
Vous avez probablement déjà installé Emacs, tout au moins je vais considérer que vous l'avez fait. A l'invite de votre interface en ligne de commande, tapez:
emacs
.
Emacs va alors démarrer avec une page de brouillon, qui n'est utile que pour écrire des notes. Nous devons donc plutôt démarrer emacs avec un nom de fichier en argument. Avant de pouvoir relancer emacs, il va d'abord nous falloir en sortir. Pour quitter, faites C-x C-c (maintenez Control enfoncée, puis appuyez sur x puis c et relachez le tout). Démarrons maintenant emacs avec un nom de fichier
emacs toto.txt
.
Votre écran devrait alors ressembler à ceci:
Buffers Files Tools Edit Search Mule Help ----:---F1 toto.txt (Text)--L1--All----------------------------------- (New file)
Concentrons-nous sur la barre d'état au bas de l'écran. De gauche à droite, on y trouve le nom du fichier que nous sommes en train de modifier, on voit que nous sommes en mode Text (j'en dirai plus par la suite sur les modes d'Emacs) que le curseur se trouve en ligne 1 et que la totalité du fichier est affichée à l'écran. A titre d'exemple, voici l'apparence de ma barre d'état au moment ou j'écris ce texte:
----:**-F1 emacs.html (HTML)--L59--70%----------------------------------
Les deux étoiles montrent que le fichier a changé depuis la dernière fois que je l'ai sauvé, je suis en train de modifier emacs.html, le mode en cours est HTML, mon curseur se trouve en ligne 59 et 70% du fichier apparaît à l'écran.
Tapez quelques mot et regardez les changements de la barre d'état. Maintenant, sauvez votre oeuvre en tapant C-x C-s (maintenez control enfoncée, puis appuyez sur x puis s), vous allez voir s'afficher au-dessous de la barre d'état:
Wrote /home/votre_login/toto.txt
Vous venez de sauvegarder votre fichier. Quittez emacs puis relancez-le avec ce même fichier, vous pourrez vérifer qu'il a bien été sauvé. Vous venez d'apprendre le minimum vital pour utiliser Emacs. Venons-en maintenant aux...
1.2 Modes spéciaux
Emacs dispose d'un interpréteur LISP interne, ce qui fait qu'il peut être programmé pour effectuer différentes tâches. Emacs peut manipuler du HTML, du SGML, des shell scripts, du code C, des sources texinfo, des sources TeX,... en s'adaptant à chacun. Les calculatrices programmables, bien que peu souples et assez limitées ont rapidement vu apparaître des jeux programmés pour elles. A votre avis, combien de temps a-t-il fallu avant que certains ne tirent parti des capacités d'Emacs ? Emacs dispose d'une version en LISP du fameux programme de pseudo-intelligence artificielle Eliza, qui tente de se faire passer pour un psychologue. Pour le lancer nous allons avoir besoin de la touche Meta. Les claviers de PCs n'ont pas la touche Meta, et lui font souvent correspondre une touche Alt ou Control. Essayez donc de tapper M-x, en tentant la touche Alt de gauche, puis la touche Alt de droite, puis les touches Control. Quand vous aurez trouvé la bonne, vous verrez s'afficher 'M-x' en-dessous de la barre d'état. Tappez alors 'doctor' puis appuyez sur Entrée et vous verrez le texte suivant apparaître:
I am the psychotherapist. Please, describe your problems. Each time you are finished talking, type RET twice.(Je suis un psychologue. Décrivez-moi vos problèmes, puis appuyez sur Entrée deux fois de suite.)
Allez-y discutez un peu avec le professeur , cela peut être amusant... [NdT: j'espère que vous parlez anglais ;-)].
Déjà de retour ? Il est vrai que cela devient ennuyeux après un temps... Maintenant que vous êtes de retour, nous allons écrire un peu de code C pour vous montrer les avantages d'Emacs. Utilisez emacs pour modifier votre fichier /.emacs pour qu'il contienne:
(add-hook 'c-mode-common-hook '(lambda () (c-toggle-auto-state 1)))
A première vue, ça ne ressemble à rien. C'est en fait du code LISP et à bien le regarder, vous comprenez sûrement pourquoi on a prétendu que LISP était l'acronyme de Lots of Irritating Superfluous Parentheses (Quantité de Parenthèses Superflues et Irritantes). Fort heureusement, vous n'avez pas besoin de connaître LISP dès maintenant, mais vous aurez à l'apprendre si vous voulez configurer Emacs pour un usage très particulier. Sauvez ce fichier puis relancez Emacs pour modifier le fichier essai.c [NdT: pour ne pas quitter et relancer Emacs à chaque fois, sauvegardez avec C-x C-s, puis ouvrez un nouveau fichier avec C-x C-f]. Voici essai.c:
#include <stdio.h> main(){printf("\nBonjour.\n");}
Vous n'obtenez pas la même chose que ci-dessus n'est-ce pas ? Avez-vous remarqué qu'Emacs indente le code à votre place et vous montre les paires de parenthèses ? Si vous ne programmez pas en C, vous ne vous pouvez pas vous rendre compte de l'utilité que cela peut avoir. Croyez-moi, quand on programme beaucoup, c'est un vrai don du ciel.
Emacs dispose de modes pour éditer le HTML, le SGML, le texte normal [NdT: et tous les langages connus]. Avec Emacs, on peut lire son courrier électronique, consulter les forums et surfer sur le web. Emacs fait tout, même la cuisine. Consultez la documentation, utilisez-le et avec le temps vous finirez par en tirer pleinement parti.
Que le code soit avec vous,
--Paul Anderson, paul@geeky1.ebtech.net
----------------------------------------------------------------------------
Copyright © 1998, Paul Anderson - Publié dans le numéro 35 de la Linux Gazette, Décembre 1998.
Adaptation française Nicolas Chauvat
Page suivante Page précédente Table des matières