En tant que nouvel utilisateur, vous allez probablement vouloir
lancer Emacs pour vous amuser un peu et l'essayer. Une fois dans
Emacs, l'une des première choses à savoir, c'est: comment sortir, vous
ne serez peut-être pas capable de savoir le faire. Donc, si vous
n'avez jamais utilisé Emacs avant, lancer vous maintenant. Sur le
prompt du shell, tapez emacs
et appuyez sur entrée. Emacs
devrais se lancer. Sinon c'est qu'il n'est soit pas installé, soit
absent de votre chemin(PATH).
Une fois que vous voyez Emacs, vous
devez savoir comment sortir. Les commandes pour quitter Emacs sont
C-x C-c
. La notation C-x
signifie que vous devez
appuyez sur la toucheCtrl
et sur la touchex
, en même
temps. Dans ce cas ci, vous devrez ensuite appuyez sur les touches
Ctrl
et c
toujours en même temps, pour quitter
Emacs.
Les commandes au clavier utilisées par Emacs semblent être
vraiment étranges, bizarre, et peut être même inconfortable pour vous
de prime abord, spécialement si vous étes un utilisateur de
vi
. A la différence de vi
, Emacs n'a pas de mode
séparé pour éditer le texte, et executer des commandes.
Pour
récapituler: emacs
lance Emacs. C-x C-c
termine
Emacs.
Quand Emacs se lance il prend la place entière de l'écran(en mode texte), ou bien d'une fenêtre. Vous verez alors un menu en haut, un peu de texte au milieu, et 2 lignes en bas de l'écran.
Cela ressemblera à cette ébauche en ASCII:
+----------------------------------------------------------------------+ |Buffers Files Tools Edit Search Mule Help | | | |Welcome to GNU Emacs, one component of a Linux-based GNU system. | | | | | | | | ... | | | |---1:---F1 *scratch* (Lisp Interaction)--L1--All-------------| |For information about the GNU Project and its goals, type C-h C-p. | +----------------------------------------------------------------------+
NOTE: Emacs utilisera normalement la totalité de
l'écran/fenêtre. J'ai réduit l'exemple ci-dessus dans un soucis de
place. Vous aurez aussi un message de bienvenue dans Emacs lorsque
vous le lancerez pour la première fois. Je l'ai aussi omis et l'ai
remplacé par ``...
`` à la place. Le message de bienvenue
donne simplement la version courante d'Emacs que vous utilisez, ainsi
que des liens vers la documentation en-ligne et des articles s'y
rapportant.
La ligne la plus en haut de l'interface d'Emacs est un menu. Si vous étes sous X, vous la reconnaitrez comme étant un menu traditionnel que vous pouvez utilisez en vous servant de votre pointeur. Sinon , vous devrez utiliser les raccourcis claviers(non expliqués ici) pour acceder aux menus.
Sur les deux dernières lignes de l'interface d'Emacs, la plus haute et principalement une barre de status. Elle contient des informations a propos du buffer sur lequel vous travaillez, dans quel mode Emacs se trouve, et d'autres informations variées sur d'autres choses. Pour l'instant, regardez juste ce qu'elle contient.
La plus basse des lignes est appelé mini-buffer. Elle est séparée du buffer principal par la barre de status dont nous venons juste de parler. Vous pouvez penser que le mini-buffer d'Emacs est une ligne de ``commande``. C'est ici que les commandes que vous donnez à Emacs apparaissent, et c'est aussi ici que les messages d'états sont imprimés en réponses aux actions que vous effectuez.
Vous
trouverez que ce que je nomme la barre de status est courament nommé
mode line
dans la documentation d'Emacs. C'est ici qu'Emacs
affiche les informations à propos des modes courants que vous
utilisez, ainsi que des choses tels que l'heure et la date courantes,
le numero de ligne, la taille du fichier, ainsi que tous ce que vous
voudriez y voir afficher.
Cette section couvre les terminologies les plus simple d'Emacs que vous pourrez rencontrer quand lors de l'utilisation et des lectures à propos d'Emacs.
A la différence d'autres éditeurs, quand vous ouvrez un fichier dans Emacs il ne reste pas ouvert tout le temps que vous travaillez dessus. A la place, Emacs lit celui-ci et le place dans un tampon en mémoire. Tant que vous éditerez le tampon et travaillerez avec les données rien ne sera changé sur le disque. Simplement, lorsque vous sauvegarderez le tampon que le fichier sur le disque sera modifié. Cette méthode possède des avantages et des inconvénients mais cela est important que vous compreniez qu'il fonctionne de cette manière.
Comme conséquence, vous verez le terme ``buffer`` (NdT : Tampon) utilisé dans la documentation Emacs , dans les differents modes, dans les packages, etc... Il faut juste réaliser que buffer signifie ``une copie du fichier qui se situe en mémoire``. Il faut aussi signaler que le buffer ne pointe pas toujours sur un fichier spécifique. Souvent Emacs crée des buffers comme résultat d'une commande que vous avez éxécuté, une liste de choix à effectuer, et ainsi de suite.
Dans la terminologie d'Emacs, vous entendrez ou lirez souvent des références au sujet des points. En des termes simple le point signifie le curseur. La différence entre point et curseur n'est pas importante lorsque vous commencer avec Emacs. Mais si vous etes curieux, pensez-y de cette manière: le curseur est la réprésentation visuelle du point. Le curseur est toujours sur une position d'un caractère précis du buffer courant. Le point, d'un autre coté, évolue dans l'espace entre les caractères du buffer. Donc vous pouvez dire que si le curseur est sur la lettre `e` dans le mot ``les`` alors le point est entre le `l` et le `s`.
Comme la plupart des éditeurs modernes, Emacs permet d'éffectuer des opérations sur une section du buffer courant (identation, correction orthographique, reformatage, couper, coller, copier, ...). Vous pouvez marquer un bloc de texte en utilisant le clavier ou la souris et effectuer alors des opérations uniquement sur la zone séléctionnée. Dans Emacs, ces blocs des textes sont nommés régions.
Cela sera peut-être un peu confus pour n'importe qui ayant utilisé une interface graphique avant. Il faut juste se rappeler qu'Emacs a été développé longtemps avant que les interfaces graphiques et les gestionnaires de fenêtres soit populaires.
Une fenêtre dans Emacs est une zone de l'écran dans laquelle un buffer est affiché. Quand Emacs est lancé, vous avez seulement une fenêtre affichée. Quelques fonctions d'Emacs, comme la documentation et l'aide, ouvrent souvent (temporairement) une fenêtre supplémentaire dans votre écran d'Emacs.
Les fenêtres d'Emacs n'ont rien en commun avec celle de X-Window en terme d'interface graphique. Vous pouvez ouvrir d'autres fenêtre X-Window pour afficher des buffers d'Emacs, par exemple pour comparer deux fichiers côte à côte. Ces nouvelles fenêtres X-Window sont référencées comme des frames dans les termes d'Emacs.
Dans Emacs, une frame est une fenêtre X-Window séparée dans laquelle un bufer d'Emacs est affiché. Mais les deux sont une partie de la même session d'Emacs. L'attitude est un peu la même que celle d'ouvrir plusieurs fenêtres d'Emacs lorsque vous tapez Alt+N.
Cette section couvre les bases de la frappe au clavier pour Emacs. Comme tous les éditeurs puissant, tout ce qui peut être fait avec Emacs n'est qu'a quelques touches plus loin.
Si vous etes un
utilisateur de vi
, la notion d'utilisez les
touchesk,j,l,h
pour remonter ou descendre d'une ligne,
avancer ou reculer sur celle-ci vous a surement pris un peu de
temps. En fait cela vous a surement pris quelques heures pour y être
habitué, à pouvoir vous déplacer normalement dans un fichier en
utilisant les différentes combinaisons de touches disponibles dans
vi
.
Emacs est différent. Il existe différentes
combinaisons et commandes à apprendre. Comme vi
, vous aurez
uniquement à maitriser les commandes de bases pour pouvoir effectuer
quasiment tous les travaux. Alors, au fil du temps, vous pourrez
continer tranquillement l'apprentissage et trouver de meilleures voies
pour arriver à vos fins.
Comme vous allez bientot l'apprendre, Emacs fait une énorme
utilisation des combinaisons des touches multiples. Etant donné que ce
n'est pas un éditeur possédant différents modes comme vi
,
vous n'aurez pas a penser en terme de mode de commande ou de mode
d'édition avant de pouvoir bouger le curseur ou d'éxécuter une
commande. A la place, vous aurez juste à presser la bonne combinaison
de touches et Emacs fera ce que vous lui aura demandé(normalement
:-)).
Les touches qu'Emacs utilise les plus sont le plus souvent
les touches Control, référencée dans la documentation commme
C
et la touche Meta M
. Comme peu d'ordinateur
possède un clavier possédant cette touche, il faudra substituer à
cette touche la touche Escape Esc
ou la touche Alternate
Alt
. Dans la plupart des configurations les touches Esc et
Alt font la même chose.
Donc lorsque vous verez une référence dans
n'importe quelles documentation sur Emacs à C-x f
cela
signifie ``appuyez sur control-x et ensuite f``. Et si vous voyez un
référence à quelque chose de la forme M-x shell
cela signifie
``appuyez sur alt-x et tapez le mot shell``.
Une commande trés
utile pour les débutants est la commande M-x apropos
ou la
commande C-h a
. apropos cherchera dans la documentation Emacs
en ligne de toutes les fonctions comportant l'expression régulière que
vous tapé. C'est la manière la plus simple de découvrir toutes les
commandes relatives aux frames. Tapez simplement C-h a
et
puis frame
Maintenant que vous savez ce que signifie toutes ces abbréviations fantaisistes signifient, voici la liste des commandes les plus populaires pour se déplacer dans un buffer.
Commandes Clavier Action ----------------------------------- C-p Monter d'une ligne C-n Descendre d'une ligne C-f Avancer d'un caractére C-b Reculer d'un caractère C-a Début de ligne C-e Fin de ligne C-v Descendre d'une page M-v Monter d'une page M-f Avancer d'un mot M-b Reculer d'un mot M-< Debut du buffer M-> Fin du buffer C-g Finir l'opération courante -----------------------------------
Et, comme vous pouviez vous y attendre, les flèches de direction
fonctionnent comme vous vous l'esperiez. Votre touche
Backspace
peut-être pas. Mais c'est une autre histoire.
Bon, maintenant que vous savez vous déplacer dans un buffer, qu'en est-il d'ouvrir et de fermer des fichiers, d'effectuer des recherches. Voici les commandes de base.
Avant de passer à ces commandes, je ferais le brievement le point sur son fonctionnement.
Toutes ces ``commandes claviers`` dans Emacs (celles avec M-x
qqle chose
ou C-qqle chose
) ne sont juste que des
raccourcis vers des fonctions internes a Emacs. Vous pouvez les
appeler aussi en tapant M-x nomdelafonction
et en appuyant
sur Entrée
. Vous pouvez aussi utiliser le raccourci clavier
de cette fonction (si elle en a un).
Par exemple, la fonction
Emacs qui sauvegarde le buffer vers le disque est appelée
save-buffer
. Par défaut, elle est aussi reliée à C-x
C-s
. Vous pouvez donc soit tapez M-x save-buffer
et
obtenir le même résultat.
Toutes les fonctions le plus communes possèdent un raccourci clavier par défaut. En voici quelques exemples.
Commandes Clavier Fonction Description ------------------------------------------------------------------- C-x C-s save-buffer Sauvegarde le buffer courant sur le disque C-x u undo Annule la commande précédente C-c C-f find-file Ouvre un fichier C-s isearch-forward Recherche en avancant une chaine de caractère C-r isearch-backward Recherche en reculant une chaine de caractère replace-string Recherche et remplace une chaine de caractère replace-regexp Recherche et remplace une chaine de caractère en utilisant regexp C-h t help-with-tutorial Utilisation du tutorial C-h f describe-function Affiche l'aide pour une fonction C-h v describe-variable Affiche l'aide pour une variable C-h x describe-key Affiche le comportement d'une combinaison de touches C-h a apropos Recherche l'aide pour string/regexp C-h F view-emacs-FAQ Affiche la FAQ d'Emacs C-h i info Affiche la documentation d'Emacs C-x r m bookmark-set Configure un signet. Utile dans les recherches. C-x r b bookmark-jump Déplacement vers un signet. -------------------------------------------------------------------
Comme vous utiliserez beaucoup de ces fonctions, vous remarquerer
que beaucoup vous demanderons quelque chose. Cela aura toujours
rapport avec le mini-buffer. C'est similaire d'utiliser la commande
:
dans vi
ou dans la plupart des commandes que vous
utilisez avec votre shell favori.
Emacs possède des centaines de fonctions de base. La liste au dessus n'est qu'un trés petit exemple de ce que j'utilise régulièrement. Voyez la documentation en ligne pour une liste plus complète des fonctions disponible et une documentation complète sur ce qui est mentionné au dessus.
Comme la plupart des shells unix (bash, csh, tsch, ...) Emacs offre
la possibilité d'utiliser la complétion grace à la touche
Tab
. En fait, la commande de complétion du bash
a
été modifié après celle d'Emacs, donc si vous utilisez cette
possibilité dans bash
vous serez chez vous.
Pour exemple,
essayer M-x search
et appuyez sur Tab
. Emacs
ajoutera un trait d'union pour indiquer qu'il existe plusieurs
possibilitées mais qu'elles possèdent toutes un trait d'union comme
prochain caractère. Tapez la touche Tab
une fois de plus pour
qu'Emacs affiche les suites possibles dans lesquelles vous pourrez
choisir. Prenez note du fait qu'il fait cela dans une nouvelle
fenêtre: une contient le buffer courant que vous éditer en ce moment,
l'autre contient la selection des complétions possibles pour
``search-``. Vous pourrez alors appuyer sur C-g
pour sortir
du processus de selection et fermer cette nouvelle fenêtre.
Emacs est installé avec un tutorial en ligne qui vous aidera à utiliser les fonctiones d'édition de base et les fonctions que tout le monde doit connaitre. Il explique aussi comment utiliser les autres aides d'Emacs.
Je vous recommande vraiment de passer un peu de
temps a travers ce tutorial si vous pensez à faire un serieux effort
pour apprendre Emacs. Comme indiqué dans la table plus haut, vous
pouvez entrer dans le tutorial par C-h t
. Le tutorial est
dirigé est ciblé pour les personnes qui commencent tout juste avec
Emacs.
Si vous lancer Emacs sous X, Vous verez que le menu le plus en haut à droite est labelé Help (Aide). Lorsque vous explorerez le menu, vous verez que certaines rubriques possèdent des raccourcis et ceux ci sont listés dans la partie droite du menu.
Enfin, pour
voir le volume de documentation disponible avec Emacs, vous pouvez
essayer M-x info
ou C-h> i
qui lancera Info, le
navigateur dans la documentation d'Emacs.