Emacs
est un logiciel écrit principalement en LISP
,
un langage interprété. Cela permet d'ajouter facilement une fonctionnalité
supplémentaire à Emacs
, même si vos connaissances en programmation
sont faibles.
Comment fonctionne Emacs
? Il va vous falloir penser autrement et
apprendre un peu. Comme tout ce qui est nouveau, cela est un peu déroutant au
début, surtout si l'on se réfère à un logiciel du même type que l'on utilisait
auparavant. Videz-vous l'esprit, relaxez-vous et respirez un grand coup: tout
apprentissage débute par une phase d'initiation un peu pénible...
Commençons par le vocabulaire: au moins, on saura de quoi on parle ;-).
Emacs
travaille dans des tampons (« buffer » en
anglais). Ainsi, on peut éditer un texte dans un tampon et un autre document
dans un autre tampon. Il n'y a pas de limitation, autre que celle de la
machine bien sûr (la limitation est ici celle de la mémoire).
À chaque fois que l'on ouvre un tampon, on se trouve dans un « mode de
fonctionnement ». Par défaut, le mode est le fondamental
(« fundamental » en anglais). Un mode de fonctionnement
caractérise son environnement. Par exemple, certains langages de programmation
usent et abusent de parenthèses et l'on finit par s'y perdre (comme
pour... le LISP
par exemple). Le mode de fonctionnement
caractéristique du LISP
permet d'y mettre bon ordre
automatiquement. Pourquoi se fatiguer quand la machine peut le faire pour vous
? Il existe ainsi des dizaines de modes de fonctionnement, chacun
caractérisant un langage de programmation (C
, Perl
,
Shell, etc.), un état (fondamental, texte, etc.) ou un
langage de formatage (TeX
, HTML
, sgml
,
etc.).
On arrive à un sujet qui fait peur: pourquoi taper des commandes dans un
éditeur de texte: je veux taper du texte et je ne sais pas programmer !!! En
fait, il ne faut pas s'effrayer et garder à l'esprit qu'Emacs
est
écrit en LISP
. Toute action EST une commande sous
Emacs
, même lorsque je tape un caractère. Simplement, dans ce
cas, on ne s'en rend pas compte :-)
Les commandes d'Emacs
sont très nombreuses et sont toutes peu ou
prou de la même forme: on appelle le programme LISP
qui fait
l'action que l'on veut faire. Par exemple, si je veux ouvrir (ou trouver) un
fichier, je tape:
M-x find-file
puis le nom de mon fichier. Toute personne comprenant un tant soit peu
l'anglais aura immédiatement traduit la seconde partie
« find-file » par « ouvrir-fichier ». C'est donc
simple: il suffit (presque :-)) de connaître l'anglais pour pouvoir se servir
de Emacs
. C'est hélas ainsi en informatique: tout est fait pour
les anglophones...
Par contre, qu'est-ce que c'est que cette bizarrerie
« M-x » ? Il faut faire là un effort d'attention.
Puisque l'on peut taper des commandes sous Emacs
, il faut que
Emacs
comprenne et fasse la part des choses entre le texte
proprement dit d'une part et les commandes d'autre part. Imaginez la salade
sinon pour nos pauvres amis anglophones :-). Ainsi, il a été codé certaines
séquences de touches pour dire à Emacs
: « à partir de là, et
jusqu'au prochain retour chariot (la touche « Entrée » de votre
clavier), tout ce qui est écrit doit être interprété comme une commande
Emacs
et être exécuté ».
D'accord, mais qu'est-ce donc que cette séquence « M-x »
et comment la taper au clavier ? Cette séquence est une convention
typographique de l'environnement Emacs
, pour raccourcir son
écriture. Il existe deux séquences principales sous Emacs
:
C-x veut dire:
appuyer sur la touche «CONTROL» et sur «x» en même temps.
M-x veut dire:
appuyer sur la touche «Méta» et sur «x» en même temps.
La touche Méta est une survivance de l'antiquité informatique. Sur les claviers modernes, elle est remplacé par la touche « ALT ». On peut aussi utiliser la touche « Échap » mais à ce moment, il faut relâcher la touche « Échap » avant de taper le caractère suivant. Question de choix et d'habitude...
Cela parait un peu difficile au début mais on s'y fait vite. Choisissez-vous une touche Méta (« ALT » ou « Échap ») et n'en changez plus. Les automatismes devraient venir rapidement.
Tout cela est très drôle mais s'il faut taper 25 caractères à chaque fois que
l'on désire faire une action, où est le gain de productivité ? Certes, dans un
premier temps, on tâtonne un peu et l'on perd du temps mais Emacs
,
qui a toujours une solution en réserve, vous réserve deux bonnes surprises:
Emacs
la finira pour vous. Vous commencez à la taper,
puis appuyer sur la touche de complètement (en l'occurence la touche de
tabulation) et Emacs
la finit pour vous. S'il y a plusieurs
commandes commençant par les mêmes lettres (cas fréquent), Emacs
les proposent toutes et il suffit de compléter quelques caractères pour finir
la commande. Cela résout aussi les problèmes de mémoire car il arrive souvent
que l'on se rappelle le début de la commande: l'affichage permet de finir sur
la bonne commande :-). Il en va de même pour les noms de fichiers...
Emacs
n'est peut-être pas la même que la vôtre...).
Certaines commandes sont très fréquentes (comme l'ouverture d'un fichier par
exemple) et Emacs
leur a dédié une séquence de touches
particulières. Ainsi, dans le cas de l'ouverture d'un fichier, au lieu de
taper « C-x find-file », on tape tout simplement
« C-x C-f ». [1]
Emacs
conserve un historique de tout ce qui a
été tapé et permet de le rappeler facilement avec les flèches
« haut » et « bas » du clavier.
Tout cela vous parait étrangement familier en tant qu'utilisateur d'un shell
moderne (bash
, tcsh
, ksh
, etc.)
? Et oui, tous ces shells héritent des avancées apportées par
Emacs
. Comme quoi, un simple éditeur...
Emacs
comme éditeur
est de vous faire gagner du temps dans un tas d'applications sous Unix car
les-dîtes applications suivent généralement les séquences de touches de
Emacs
pour les déplacements: ceci est devenu un véritable standard
sous Unix. Les connaître déjà est un gain de temps précieux...
Emacs
se présente toujours de la forme suivante: on peut diviser
son espace en trois parties. La première, la partie supérieure, contient les
menus (pratique quand on a oublié le nom d'une commande par exemple). La
seconde, de loin celle qui occupe le plus de place est la partie centrale où se
loge le tampon proprement dit. C'est l'espace de frappe du texte en lui-même.
La troisième partie est celle du bas, en fait une seule ligne, destinée aux commandes. Dès que vous commencerez à taper une commande, vous la verrez s'inscrire dans cette partie. Certaines commandes requièrent des paramètres (comme pour la recherche d'expressions) et c'est dans cette partie qu'ils seront tapés. Enfin, les messages d'erreurs divers ainsi que les résultats des commandes y seront affichés.
Certaines commandes ont besoin de beaucoup plus d'une ligne pour s'exprimer.
Par exemple, lorsque Emacs
propose l'ensemble des fichiers
disponibles du répertoire lors d'une tabulation, ceux-ci se comptent souvent
par dizaines. Emacs
subdivise alors la fenêtre du tampon en deux
parties et permet le choix du fichier avec le curseur ou la souris (bouton
central). On peut aussi le faire avec le clavier en tapant M-v et
se déplacer dans le tampon jusqu'au fichier ou la commande désirée. Il suffit
alors de taper sur « Entrée » pour valider. Lorsque le choix est
fait, la partie concernant le choix des fichiers disparaît automatiquement. Si
par mégarde, due à une mauvaise manipulation ou mauvaise installation, la
fenêtre de choix ou d'erreurs ne disparaissait pas, faîtes-le vous même.
Pour cela, rendez la fenêtre que vous désirez garder active, c'est-à-dire avec le curseur dedans. Pour déplacer le curseur d'une partie à une autre, cliquez avec le bouton gauche de la sortie ou tout simplement tapez la commande suivante:
C-x o
qui fait passer automatiquement le curseur d'une partie à une autre. Lorsque le curseur est positionné sur la partie que vous désirez garder, tapez sur:
C-x 1
et la partie occupe alors toute la hauteur normale du tampon (voir le paragraphe sur les éditions multiples et tampons)
Enfin, il existe une quatrième partie qui comporte différentes informations sur
l'état du tampon courant. Il s'agit d'une ligne non accessible entre la partie
du tampon et celle de la ligne de commande. Cette ligne est configurable pour
que les informations qui y paraissent soient paramétrables. Par défaut, il
apparaît le nom du tampon en édition courante, l'état du mode
(« Fundamental » par défaut) et le numéro de la ligne
courante ou sa position en pourcentage dans le texte suivant les versions de
Emacs
.
Certaines versions graphiques de Emacs
proposent une série
d'icônes entre les menus et le tampon, icônes permettant de faire des
raccourcis à la souris de certaines fonctions courantes de Emacs
.
Vous verrez qu'à l'usage, ce n'est pas pratique et que l'on a vite fait de
retirer cette barre d'icônes qui prend de la place inutilement.
p.karatchentzeff@free.fr