Page suivante Page précédente Table des matières

2. Exécuter Emacs

2.1 Lancer & quitter Emacs

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.

Ce que vous allez voir

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 Barre de menu

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.

La Barre de status & et le Mini-buffer

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.

2.2 Quelques Terminologies

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.

Tampons & Fichiers

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.

Points & Regions

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.

Fenêtres

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.

Frames

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.

2.3 Les commandes de bases au clavier

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.

Les touches de commandes(Meta, Esc, Control, and Alt)

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

Se déplacer dans un Buffer

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.

Commandes Principales q

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.

La Complétion par la touche Tab

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.

2.4 Tutorials, Aides, & Informations

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.


Page suivante Page précédente Table des matières