1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-14 09:39:42 +00:00
emacs/etc/TUTORIAL.fr

1204 lines
51 KiB
Plaintext
Raw Normal View History

Didacticiel d'Emacs. Voir la fin de ce document pour les conditions.
Copyright (c) 1985, 2001, 2002 Free Software Foundation, Inc.
2001-11-16 12:54:53 +00:00
Les commandes Emacs utilisent g<>n<EFBFBD>ralement la touche CONTROLE (souvent
d<EFBFBD>sign<EFBFBD>e par CTRL ou CTL) ou la touche META (souvent d<>sign<67>e par EDIT
ou ALT). Pour ces touches, nous utiliserons les abr<62>viations suivantes :
2001-11-16 12:54:53 +00:00
C-<car> signifie qu'il faut maintenir la touche CONTROLE appuy<75>e tout
en tapant le caract<63>re <car>. Ainsi, C-f signifie : presser
sur la touche CONTROLE tout en pressant la touche f.
2001-11-16 12:54:53 +00:00
M-<car> signifie qu'il faut maintenir la touche META ou EDIT ou ALT
appuy<75>e tout en tapant le caract<63>re <car>. Si aucune de ces
touches n'existe, pressez puis rel<65>chez la touche ESC et
tapez <car>. Nous <20>crirons <ESC> pour d<>signer la touche ESC.
Tapez C-x C-c (deux caract<63>res) pour terminer une session Emacs.
Dans ce didacticiel, les caract<63>res ">>" en marge gauche indiquent les
directions <20> suivre pour essayer une commande. Ainsi :
<<Lignes blanches ins<6E>r<EFBFBD>es apr<70>s cette ligne par help-with-tutorial>>
2004-10-08 18:10:51 +00:00
[Centre de page delib<69>r<EFBFBD>ment vide. Le texte continue ci-dessous.]
2001-11-16 12:54:53 +00:00
>> Tapez C-v (Voir l'<27>cran suivant) pour passer <20> l'<27>cran suivant
(faites-le, pressez la touche CTRL tout en pressant la touche v).
<20> partir de maintenant, vous devrez le faire <20> chaque fois que
vous avez fini de lire l'<27>cran.
2001-11-16 12:54:53 +00:00
Vous remarquerez qu'il y a un recouvrement de deux lignes lorsque l'on
passe d'un <20>cran <20> un autre : cela permet une certaine continuit<69> dans
la lecture du texte.
La premi<6D>re chose que vous devez savoir est comment vous d<>placer <20>
travers le texte. Vous savez d<>j<EFBFBD> comment avancer d'un <20>cran avec
C-v. Pour revenir un <20>cran en arri<72>re, tapez M-v (pressez la touche
META tout en appuyant sur v ou faites <ESC>v si vous n'avez pas de
touche META, EDIT ou ALT).
>> Faites M-v, puis C-v plusieurs fois.
2001-11-16 12:54:53 +00:00
Si votre terminal en dispose, vous pouvez <20>galement utiliser les
2004-10-08 18:10:51 +00:00
touches PgUp et PgDn pour monter ou descendre d'un <20>cran, bien que les
combinaisons C-v et M-v soient plus efficaces.
2001-11-16 12:54:53 +00:00
* R<>SUM<55>
--------
Les commandes suivantes servent <20> manipuler des <20>crans :
C-v Avance d'un <20>cran
M-v Recule d'un <20>cran
C-l Efface l'<27>cran et r<>affiche tout le texte autour du
2003-02-04 14:56:31 +00:00
curseur, qui est plac<61> au milieu de l'<27>cran
2001-11-16 12:54:53 +00:00
(il s'agit de CTRL-L, pas de CTRL-1).
2003-02-04 14:56:31 +00:00
2001-11-16 12:54:53 +00:00
>> Notez le texte situ<74> <20> c<>t<EFBFBD> du curseur, puis faites C-l.
Recherchez l'emplacement du curseur et vous remarquerez que
c'est le m<>me texte qui est <20> c<>t<EFBFBD> de lui.
* GESTION DU CURSEUR
--------------------
Passer d'un <20>cran <20> l'autre est pratique, mais comment se d<>placer <20>
un endroit pr<70>cis du texte dans un <20>cran ?
Il existe plusieurs fa<66>ons de faire. Vous pouvez utiliser les touches
du curseur, mais il est plus efficace de garder vos mains dans la m<>me
position et d'utiliser les commandes C-p, C-b, C-f, et C-n. Ces
combinaisons sont <20>quivalentes aux quatre touches du curseur :
2003-02-04 14:56:31 +00:00
2001-11-16 12:54:53 +00:00
Ligne pr<70>c<EFBFBD>dente, C-p
:
:
En arri<72>re, C-b .... Position courante .... Vers l'avant, C-f
2001-11-16 12:54:53 +00:00
:
:
Ligne suivante, C-n
>> D<>placez le curseur sur la ligne situ<74>e au milieu de ce sch<63>ma en
2003-02-04 14:56:31 +00:00
utilisant C-n ou C-p. Puis, faites C-l pour placer le sch<63>ma au
2001-11-16 12:54:53 +00:00
centre de l'<27>cran.
Si vous connaissez un peu l'anglais, vous aurez s<>rement constat<61>
qu'il <20>tait facile de se rappeler que P signifiait Previous
(pr<70>c<EFBFBD>dent), N Next (suivant), B Backward (en arri<72>re) et F Forward
2003-02-04 14:56:31 +00:00
(vers l'avant).
2001-11-16 12:54:53 +00:00
>> Faites quelques C-n pour amener le curseur sur cette ligne.
>> D<>placez-vous le long de la ligne avec des C-f, puis au-dessus avec
2001-11-16 12:54:53 +00:00
des C-p. Notez ce que fait C-p lorsque le curseur est au milieu de
la ligne.
2003-02-04 14:56:31 +00:00
2001-11-16 12:54:53 +00:00
Chaque ligne de texte se termine par un caract<63>re Newline, qui sert <20>
la s<>parer de la ligne suivante. La derni<6E>re ligne de votre fichier
devrait se terminer par un Newline (mais Emacs n'exige pas qu'il y en
ait un).
>> Essayez de faire C-b au d<>but d'une ligne. Cela devrait d<>placer le
curseur <20> la fin de la ligne pr<70>c<EFBFBD>dente car il passe au-dessus du
caract<63>re Newline.
C-f peut passer au-dessus d'un Newline, tout comme C-b.
2003-02-04 14:56:31 +00:00
>> Faites encore quelques C-b afin de bien sentir o<> est le curseur.
2001-11-16 12:54:53 +00:00
Puis, faites des C-f pour revenir <20> la fin de la ligne.
Enfin, faites quelques C-f suppl<70>mentaires pour passer <20> la ligne
suivante.
Lorsque vous d<>passez le haut ou le bas de l'<27>cran, le texte au-del<65>
de ces limites est d<>cal<61> pour passer dans l'<27>cran : c'est ce qu'on
appelle le <20> scrolling <20>. Cela permet <20> Emacs de placer le curseur <20>
l'emplacement sp<73>cifi<66> dans le texte sans devoir le placer en dehors
de l'<27>cran.
>> Essayez de placer le curseur au-del<65> du bas de l'<27>cran avec C-n et
constatez ce qui se passe.
2001-11-16 12:54:53 +00:00
Si le d<>placement caract<63>re par caract<63>re est trop lent, vous pouvez
vous d<>placer mot par mot. M-f (Meta-f) avance d'un mot et M-b recule
d'un mot.
>> Faites quelques M-f et M-b.
Lorsque vous <20>tes au milieu d'un mot, M-f place le curseur <20> la fin du
mot. Lorsque vous <20>tes entre deux mots, M-f place le curseur <20> la fin
du mot suivant. M-b fonctionne de la m<>me fa<66>on dans la direction
oppos<EFBFBD>e.
>> Faites plusieurs fois M-f et M-b, espac<61>s de C-f et C-b afin
d'observer l'action de M-f et M-b aux diff<66>rents emplacements <20>
l'int<6E>rieur et <20> l'ext<78>rieur des mots.
Notez le parall<6C>le entre C-f et C-b d'un c<>t<EFBFBD> et M-f et M-b de
l'autre. Tr<54>s souvent, les caract<63>res Meta servent <20> des op<6F>rations
sur des unit<69>s d<>finies par le langage (mots, phrases, paragraphe)
alors que les caract<63>res de contr<74>le op<6F>rent sur les unit<69>s de base
ind<EFBFBD>pendantes de ce que l'on <20>dite (caract<63>res, lignes, etc.).
Ce parall<6C>le s'applique entre les lignes et les phrases : C-a et C-e
d<EFBFBD>placent le curseur au d<>but ou <20> la fin d'une ligne, tandis que M-a
et M-e le placent au d<>but ou <20> la fin d'une phrase.
>> Faites quelques C-a, puis quelques C-e.
Faites quelques M-a, puis quelques M-e.
Vous constaterez que la r<>p<EFBFBD>tition d'un C-a ne fait rien, mais que
celle d'un M-a vous d<>place d'une phrase de plus. Bien que ces deux
commandes ne soient pas tout <20> fait analogues, chacune d'elle semble
naturelle.
L'emplacement du curseur dans le texte est <20>galement appel<65> <20> point <20>.
Pour paraphraser, le curseur appara<72>t <20> l'<27>cran <20> l'endroit o<> le
point est situ<74> dans le texte.
2003-02-04 14:56:31 +00:00
Voici un r<>sum<75> des op<6F>rations de d<>placements simples du curseur,
2001-11-16 12:54:53 +00:00
ainsi que les commandes de d<>placement par mots et par phrases.
C-f Avance d'un caract<63>re
C-b Recule d'un caract<63>re
M-f Avance d'un mot
M-b Recule d'un mot
C-n Avance d'une ligne
C-p Recule d'une ligne
C-a Va au d<>but de la ligne
C-e Va <20> la fin de la ligne
M-a Va au d<>but de la phrase
M-e Va <20> la fin de la phrase
2003-02-04 14:56:31 +00:00
>> Essayez toutes ces commandes plusieurs fois afin de vous entra<72>ner.
2001-11-16 12:54:53 +00:00
Ce sont celles qui sont utilis<69>es le plus souvent.
M-< (Meta inf<6E>rieur <20>) et M-> (Meta sup<75>rieur <20>) sont deux autres
commandes importantes de d<>placement du curseur. La premi<6D>re renvoie
au tout d<>but du texte, la seconde <20> la fin de celui-ci.
Sur certains claviers, le "<" se trouve sous la virgule, vous devez
2001-11-16 12:54:53 +00:00
donc utiliser la touche <Maj> pour y avoir acc<63>s. Sur ces terminaux,
vous devez utiliser <20>galement la touche <Maj> pour faire M-<, sinon
vous taperiez M-virgule.
>> Faites M-< afin de vous d<>placer au d<>but du didacticiel.
Puis, faites plusieurs fois C-v pour revenir ici.
>> Faites M-> afin de vous d<>placer <20> la fin du didacticiel.
Puis, faites plusieurs fois M-v pour revenir ici.
2003-02-04 14:56:31 +00:00
2001-11-16 12:54:53 +00:00
Vous pouvez <20>galement d<>placer le curseur <20> l'aide des touches de
curseur, si votre terminal en dispose. Nous vous conseillons
d'apprendre <20> utiliser C-b, C-f, C-n et C-p pour trois raisons. Tout
d'abord, ces commandes fonctionnent sur tous les types de
terminaux. Ensuite, lorsque vous aurez un peu pratiqu<71> Emacs, vous
vous rendrez compte qu'il est plus rapide de taper ces caract<63>res de
contr<EFBFBD>le que d'utiliser les touches de curseur (car vous n'avez pas
besoin de d<>placer vos mains pour atteindre ces touches). Enfin,
lorsque vous aurez l'habitude d'utiliser ces commandes, vous
apprendrez plus facilement les autres commandes de d<>placement plus
puissantes.
La plupart des commandes Emacs acceptent un param<61>tre num<75>rique qui,
la plupart du temps, indique un nombre de r<>p<EFBFBD>titions. Pour indiquer <20>
une commande le nombre de fois que l'on souhaite la r<>p<EFBFBD>ter, on
utilise C-u suivi du nombre avant de taper la commande. Si vous avez
une touche META (ou EDIT ou ALT), il existe une autre fa<66>on d'entrer
un param<61>tre num<75>rique : tapez le nombre tout en pressant la touche
META. Nous vous conseillons d'apprendre <20> utiliser la m<>thode C-u car
elle fonctionne sur tous les types de terminaux. Le param<61>tre
num<EFBFBD>rique est <20>galement appel<65> <20> param<61>tre pr<70>fixe <20> car on le pr<70>cise
avant la commande sur laquelle il s'applique.
2001-11-16 12:54:53 +00:00
C-u 8 C-f, par exemple, avance le curseur de huit caract<63>res.
2003-02-04 14:56:31 +00:00
2001-11-16 12:54:53 +00:00
>> Utilisez C-n ou C-p avec un param<61>tre num<75>rique afin de d<>placer,
en une seule commande, le curseur sur une ligne proche de celle-ci.
La plupart des commandes utilisent le param<61>tre num<75>rique pour
indiquer un nombre de r<>p<EFBFBD>titions, mais d'autres s'en servent
autrement. Plusieurs commandes (mais aucune de celles que nous avons
vues jusqu'<27> maintenant) l'utilisent comme indicateur -- la pr<70>sence
d'un param<61>tre pr<70>fixe, quelle que soit sa valeur, force la commande <20>
agir diff<66>remment.
C-v et M-v constituent un autre type d'exception. Lorsqu'on leur
donne un param<61>tre, elles font d<>filer l'<27>cran vers le haut ou vers le
bas du nombre de lignes indiqu<71> au lieu de passer d'un <20>cran complet <20>
l'autre. C-u 8 C-v, par exemple, fait d<>filer l'<27>cran de 8 lignes.
>> Faites C-u 8 C-v.
Cela a d<> d<>placer l'<27>cran de 8 lignes vers le haut. Si vous voulez
redescendre de 8 lignes, il suffit de passer ce nombre comme param<61>tre
de M-v.
Si vous utilisez un environnement graphique, comme X11 ou MS-Windows,
il devrait y avoir une zone rectangulaire appel<65>e barre de d<>filement,
ou <20> scrollbar <20> sur le bord gauche de la fen<65>tre d'Emacs. Vous pouvez
faire d<>filer le texte en cliquant avec la souris dans cette barre de
d<EFBFBD>filement.
2001-11-16 12:54:53 +00:00
>> Cliquez avec le bouton du milieu en haut de la zone mise en
2001-11-16 12:54:53 +00:00
<20>vidence dans la barre de d<>filement. Cela devrait d<>placer le
texte jusqu'<27> une position d<>pendant de la hauteur o<> vous avez
2003-02-04 14:56:31 +00:00
cliqu<71>.
2001-11-16 12:54:53 +00:00
>> D<>placez la souris de bas en haut tout en maintenant son bouton du
milieu press<73>. Vous constaterez que le texte d<>file vers le haut et
vers le bas en fonction du d<>placement de la souris.
* QUAND EMACS EST MUET
----------------------
2001-11-16 12:54:53 +00:00
Si Emacs cesse de r<>pondre <20> vos commandes, vous pouvez le d<>bloquer
en toute s<>curit<69> avec C-g. Cette commande fait stopper une commande
qui met trop de temps <20> s'ex<65>cuter.
2001-11-16 12:54:53 +00:00
C-g peut <20>galement servir <20> annuler un param<61>tre num<75>rique, ou le
d<EFBFBD>but d'une commande que vous ne souhaitez pas terminer.
2001-11-16 12:54:53 +00:00
>> Faites C-u 100 pour former un param<61>tre num<75>rique de 100, puis
2003-02-04 14:56:31 +00:00
tapez C-g.
Faites maintenant C-f. Le d<>placement ne sera que d'un caract<63>re
2001-11-16 12:54:53 +00:00
car vous avez annul<75> le param<61>tre avec C-g.
Si vous avez tap<61> <ESC> par erreur, vous pouvez vous en d<>barrasser
2001-11-16 12:54:53 +00:00
avec un C-g.
* COMMANDES D<>SACTIV<49>ES
------------------------
Certaines commandes d'Emacs sont <20> d<>sactiv<69>es <20> afin que les
utilisateurs d<>butants ne puissent les utiliser par accident.
Si vous tapez l'une de ces commandes, Emacs affiche un message
indiquant quelle <20>tait la commande et vous demande si vous souhaitez
continuer et l'ex<65>cuter.
Si vous souhaitez vraiment essayer la commande, tapez <Espace> en
2001-11-16 12:54:53 +00:00
r<EFBFBD>ponse <20> la question. Si vous ne voulez pas ex<65>cuter la commande
d<EFBFBD>sactiv<EFBFBD>e, il suffit normalement de r<>pondre <20> n <20>.
2003-02-04 14:56:31 +00:00
>> Faites C-x C-l (qui est une commande d<>sactiv<69>e),
2001-11-16 12:54:53 +00:00
puis r<>pondez n <20> la question.
* FEN<45>TRES
----------
Emacs peut avoir plusieurs fen<65>tres, chacune affichant son propre
2003-02-04 14:56:31 +00:00
texte. Nous expliquerons plus tard comment utiliser plusieurs fen<65>tres ;
2001-11-16 12:54:53 +00:00
pour l'instant, nous expliquerons comment se d<>barrasser des
2003-02-04 14:56:31 +00:00
fen<EFBFBD>tres suppl<70>mentaires pour revenir <20> une <20>dition mono-fen<65>tre.
2001-11-16 12:54:53 +00:00
C'est tr<74>s simple :
C-x 1 Une seule fen<65>tre (i.e., supprime toutes les autres)
2001-11-16 12:54:53 +00:00
Il s'agit de CTRL-x suivi du chiffre 1. C-x 1 <20>tend la fen<65>tre
contenant le curseur pour qu'elle occupe tout l'<27>cran. Cette commande
supprime toutes les autres fen<65>tres.
>> D<>placez le curseur sur cette ligne et faites C-u 0 C-l.
>> Faites CONTROLE-h k CONTROLE-f.
2001-11-16 12:54:53 +00:00
Vous constatez que cette fen<65>tre est r<>duite alors qu'une nouvelle
appara<72>t pour afficher la documentation sur la commande CONTROLE-f.
2001-11-16 12:54:53 +00:00
>> Faites C-x 1 et la fen<65>tre de documentation dispara<72>t.
Cette commande est diff<66>rente de celles que nous avons d<>j<EFBFBD> vues car
elle est form<72>e de deux caract<63>res. Elle commence par le caract<63>re
CONTROLE-x, comme le font de nombreuses commandes de manipulation de
2001-11-16 12:54:53 +00:00
fen<EFBFBD>tres, fichiers, tampons et autres entit<69>s associ<63>es. Ces commandes
font deux, trois ou quatre caract<63>res.
* INSERTION ET SUPPRESSION
--------------------------
Si vous voulez ins<6E>rer du texte, il vous suffit de le taper. Les
caract<EFBFBD>res que vous pouvez lire, comme A, 7, *, etc. sont consid<69>r<EFBFBD>s
comme du texte par Emacs et ins<6E>r<EFBFBD>s imm<6D>diatement. Tapez <Entr<74>e> (la
2001-11-16 12:54:53 +00:00
touche de retour chariot) pour ins<6E>rer un caract<63>re Newline.
Vous pouvez effacer le dernier caract<63>re que vous avez tap<61> en faisant
<Delback>. <Delback> est une touche du clavier -- la m<>me que vous
utilisez habituellement en dehors d'Emacs, pour supprimer le dernier
caract<EFBFBD>re saisi. Il s'agit g<>n<EFBFBD>ralement de la grande touche situ<74>e
quelques lignes au-dessus de la touche <20> Entr<74>e <20>. Elle est
habituellement nomm<6D>e <20> Delete <20>, <20> Del <20>, <20> Suppr <20> ou <20> Backspace <20>.
2001-11-16 12:54:53 +00:00
Si cette grande touche s'appelle <20> Backspace <20>, c'est celle-l<> qui
repr<EFBFBD>sente <Delback>. Votre clavier peut <20>galement comporter une autre
touche, nomm<6D>e <20> Delete <20>, <20> Del <20> ou <20> Suppr <20>, mais ce n'est pas
<Delback>.
Plus g<>n<EFBFBD>ralement, <Delback> efface le caract<63>re situ<74> imm<6D>diatement
2001-11-16 12:54:53 +00:00
avant la position courante du curseur.
2003-02-04 14:56:31 +00:00
>> Tapez quelques caract<63>res puis effacez-les en faisant plusieurs
fois <Delback>. Ne vous inqui<75>tez pas de modifier ce fichier ; vous
2001-11-16 12:54:53 +00:00
ne modifierez pas le didacticiel principal mais uniquement votre
copie personnelle de celui-ci.
Lorsqu'une ligne de texte devient trop longue pour tenir sur une seule
ligne de l'<27>cran, elle se <20> continue <20> sur une deuxi<78>me ligne
d'<27>cran. Une barre de fraction inverse (<28> \ <20>) ou, si vous utilisez un
2004-10-08 18:10:51 +00:00
environnement graphique, une petite fl<66>che recourb<72>e, sur la marge
droite indique une ligne qui se poursuit sur la ligne suivante.
2001-11-16 12:54:53 +00:00
>> Ins<6E>rez du texte jusqu'<27> atteindre la marge droite et continuez
d'en ins<6E>rer. Vous verrez appara<72>tre une ligne de continuation.
>> Faites des <Delback> pour effacer le texte jusqu'<27> ce que la ligne
2001-11-16 12:54:53 +00:00
tienne <20> nouveau sur une seule ligne d'<27>cran. La ligne de
continuation dispara<72>t.
Vous pouvez effacer un caract<63>re Newline comme n'importe quel autre
2001-11-16 12:54:53 +00:00
caract<EFBFBD>re. La suppression d'un Newline entre deux lignes les fusionne
en une seule ligne. Si la ligne r<>sultante est trop longue pour tenir
dans la largeur de l'<27>cran, elle s'affichera avec une ligne de
continuation.
2003-02-04 14:56:31 +00:00
>> Placez le curseur au d<>but d'une ligne et faites <Delback>.
2001-11-16 12:54:53 +00:00
Cela fusionne cette ligne avec la ligne pr<70>c<EFBFBD>dente.
>> Faites <Entr<74>e> pour remettre le Newline que vous avez supprim<69>.
Rappelez-vous que la plupart des commandes Emacs peuvent utiliser un
nombre de r<>p<EFBFBD>titions ; les caract<63>res de texte font de m<>me. La
r<EFBFBD>p<EFBFBD>tition d'un caract<63>re de texte l'ins<6E>re plusieurs fois.
>> Faites C-u 8 * pour ins<6E>rer ********.
Vous connaissez maintenant la m<>thode la plus simple pour taper du
texte dans Emacs et pour corriger les erreurs. Vous pouvez <20>galement
effacer des mots ou des lignes enti<74>res. Voici un r<>sum<75> des
2001-11-16 12:54:53 +00:00
op<EFBFBD>rations de suppression :
<Delback> Efface le caract<63>re situ<74> avant le curseur
C-d Efface le caract<63>re situ<74> apr<70>s le curseur
2001-11-16 12:54:53 +00:00
M-<Delback> Supprime le mot situ<74> avant le curseur
M-d Supprime le mot situ<74> apr<70>s le curseur
2001-11-16 12:54:53 +00:00
C-k Supprime du curseur <20> la fin de la ligne
M-k Supprime jusqu'<27> la fin de la phrase courante
2001-11-16 12:54:53 +00:00
Vous noterez que <Delback> et C-d, par rapport <20> M-<Delback> et M-d,
ont la m<>me relation que C-f et M-f (en fait, <Delback> n'est pas
vraiment un caract<63>re de contr<74>le, mais ne nous soucions pas de cela)
C-k et M-k sont un peu comme C-e et M-e.
2001-11-16 12:54:53 +00:00
Vous pouvez aussi supprimer n'importe quelle zone du tampon en
utilisant une m<>thode unique et g<>n<EFBFBD>rale. Placez-vous <20> une extr<74>mit<69>
de cette zone et tapez soit C-@, soit C-SPC (SPC d<>signe la barre
espace). Puis, allez <20> l'autre extr<74>mit<69> et faites C-w. Cela supprime
tout le texte compris entre ces deux positions.
>> Placez le curseur sur le V au d<>but du paragraphe pr<70>c<EFBFBD>dent.
>> Faites C-SPC. Emacs devrait afficher un message "Mark set"
2001-11-16 12:54:53 +00:00
en bas de l'<27>cran.
>> D<>placez le curseur sur le x d'<27> extr<74>mit<69> <20>, sur la seconde ligne
du paragraphe.
>> Faites C-w. Cela supprimera le texte allant du V jusqu'au
caract<63>re situ<74> juste avant le x.
La diff<66>rence entre <20> effacer <20> et <20> supprimer <20> est que vous pouvez
r<EFBFBD>ins<EFBFBD>rer le texte <20> supprim<69> <20>, alors que c'est impossible avec ce
qui a <20>t<EFBFBD> <20> effac<61> <20>. La r<>insertion d'un texte supprim<69> s'appelle le
<EFBFBD> yanking <20>. G<>n<EFBFBD>ralement, les commandes qui <20>tent beaucoup de texte
le suppriment (afin que vous puissiez le r<>cup<75>rer), tandis que celles
qui ne font qu'<27>ter un seul caract<63>re, des lignes blanches ou des
espaces, les effacent (vous ne pouvez donc pas r<>cup<75>rer ce texte).
2001-11-16 12:54:53 +00:00
>> Placez le curseur au d<>but d'une ligne non vide puis faites
C-k pour supprimer le texte de celle-ci.
>> Refaites C-k : vous verrez que cela supprime le Newline qui suit
2001-11-16 12:54:53 +00:00
cette ligne.
Notez qu'un simple C-k supprime le contenu de la ligne et qu'un second
2001-11-16 12:54:53 +00:00
d<EFBFBD>truit la ligne elle-m<>me, ce qui fait remonter toutes les lignes
suivantes. C-k traite son param<61>tre num<75>rique d'une fa<66>on sp<73>ciale :
2004-10-08 18:10:51 +00:00
il d<>truit ce nombre de lignes ET leur contenu. Ce n'est pas une
2001-11-16 12:54:53 +00:00
simple r<>p<EFBFBD>tition : C-u 2 C-k d<>truit deux lignes et leurs Newlines
alors que taper deux fois C-k n'aurait pas le m<>me effet.
Vous pouvez ramener le texte supprim<69> <20> la place qu'il occupait ou <20>
n'importe quel autre emplacement du texte. Vous pouvez r<>cup<75>rer
2003-02-04 14:56:31 +00:00
plusieurs fois ce texte afin d'en cr<63>er plusieurs copies.
La commande de r<>cup<75>ration est C-y. Elle r<>ins<6E>re le dernier texte
supprim<EFBFBD> <20> la position courante du curseur.
2001-11-16 12:54:53 +00:00
>> Essayez : faites C-y pour r<>cup<75>rer le texte.
Si vous faites plusieurs C-k <20> la suite, tout le texte supprim<69> est
sauvegard<EFBFBD> en m<>me temps, de sorte qu'un seul C-y ram<61>nera toutes les
lignes d'un seul coup.
2001-11-16 12:54:53 +00:00
>> Faites plusieurs fois C-k.
Maintenant, pour r<>cup<75>rer le texte d<>truit :
2001-11-16 12:54:53 +00:00
>> Faites C-y, puis descendez le curseur de quelques lignes et refaites
C-y. Vous savez maintenant comment copier du texte.
2001-11-16 12:54:53 +00:00
Que faire si vous avez du texte que vous voulez r<>cup<75>rer et,
qu'ensuite, vous supprimez autre chose ? C-y r<>cup<75>rerait la
suppression la plus r<>cente mais le texte pr<70>c<EFBFBD>dent n'est pas pour
2001-11-16 12:54:53 +00:00
autant perdu : vous pouvez le rappeler en utilisant la commande
M-y. Apr<70>s avoir fait C-y pour r<>cup<75>rer la suppression la plus
r<EFBFBD>cente, M-y remplacera ce texte r<>cup<75>r<EFBFBD> par le texte supprim<69>
pr<EFBFBD>c<EFBFBD>demment. En r<>p<EFBFBD>tant les M-y, vous ramenez les suppressions de
2001-11-16 12:54:53 +00:00
plus en plus anciennes. Lorsque vous avez atteint le texte que vous
recherchez, vous n'avez rien besoin de faire pour le
conserver. Continuez simplement <20> <20>diter votre texte et laissez le
texte r<>cup<75>r<EFBFBD> o<> il est.
Si vous faites M-y suffisamment de fois, vous reviendrez <20> votre point
de d<>part (la suppression la plus r<>cente).
2001-11-16 12:54:53 +00:00
>> Supprimez une ligne, d<>placez vous et supprimez une autre ligne.
2001-11-16 12:54:53 +00:00
Puis, faites C-y pour r<>cup<75>rer cette derni<6E>re.
2003-02-04 14:56:31 +00:00
Faites alors M-y et elle sera remplac<61>e par la premi<6D>re ligne d<>truite.
2001-11-16 12:54:53 +00:00
Faites d'autres M-y et notez ce que vous obtenez, continuez jusqu'<27>
ce que la seconde ligne supprim<69>e r<>apparaisse, et faites-en encore
2003-02-04 14:56:31 +00:00
quelques-uns de plus.
2001-11-16 12:54:53 +00:00
Si vous le souhaitez, vous pouvez essayer de passer des param<61>tres
positifs et n<>gatifs <20> M-y.
* ANNULATION
------------
Si vous modifiez le texte, puis que vous d<>cidez que c'<27>tait une
erreur, vous pouvez annuler cette modification avec la commande C-x u
(comme Undo, d<>faire).
2001-11-16 12:54:53 +00:00
Normalement C-x u annule les modifications d'une seule commande ; si
vous r<>p<EFBFBD>tez plusieurs fois C-x u dans une ligne, chaque r<>p<EFBFBD>tition
annulera une commande suppl<70>mentaire.
2001-11-16 12:54:53 +00:00
Il y a quand m<>me deux exceptions : les commandes qui ne modifient pas
le texte ne comptent pas (cela inclut les commandes de d<>placement du
curseur et les commandes de d<>filement du texte) et les caract<63>res
auto-ins<6E>r<EFBFBD>s sont habituellement g<>r<EFBFBD>s par groupes allant jusqu'<27> 20
(ceci afin de r<>duire le nombre de C-x u que vous devriez taper pour
annuler l'insertion de texte).
>> Supprimez cette ligne avec C-k, puis faites C-x u pour la voir
2001-11-16 12:54:53 +00:00
r<>appara<72>tre.
C-_ est une autre commande d'annulation ; elle fonctionne exactement
comme C-x u mais est plus facile <20> taper plusieurs fois dans une
ligne. Son inconv<6E>nient est qu'elle n'est pas facile <20> taper sur
2001-11-16 12:54:53 +00:00
certains claviers, c'est pourquoi C-x u existe aussi. Sur certains
terminaux, vous pouvez taper C-_ en tapant / tout en pressant la
touche CTRL.
Un param<61>tre num<75>rique pass<73> <20> C-_ ou C-x u agit comme un nombre de
r<EFBFBD>p<EFBFBD>titions.
* FICHIERS
----------
Afin de rendre permanent le texte que vous <20>ditez, vous devez le
placer dans un fichier. Sinon, il dispara<72>tra en m<>me temps que votre
session Emacs. Pour placer un texte dans un fichier, vous devez
<EFBFBD> trouver <20> le fichier avant d'entrer le texte (c'est ce que l'on
d<EFBFBD>signe <20>galement par <20> visiter <20> le fichier).
Trouver un fichier signifie que vous voyez le contenu de ce fichier
dans Emacs. Par de nombreux aspects, c'est comme si vous <20>ditiez le
fichier lui-m<>me. Cependant, les modifications que vous faites avec
Emacs ne deviendront permanentes qu'apr<70>s avoir <20> sauvegard<72> <20> le
fichier : cela <20>vite d'avoir un fichier <20> moiti<74> modifi<66> sur le
2001-11-16 12:54:53 +00:00
syst<EFBFBD>me alors que vous ne le vouliez pas. M<>me lorsque vous
sauvegardez, Emacs garde le fichier original sous un nom modifi<66> au
cas o<> vous d<>cideriez ensuite d'annuler vos modifications.
Si vous examinez le bas de l'<27>cran, vous verrez une ligne qui commence
2004-10-08 18:10:51 +00:00
et finit par des tirets et d<>bute par <20> -1:-- TUTORIAL.fr <20> ou quelque
2001-11-16 12:54:53 +00:00
chose comme <20>a. Cette partie de l'<27>cran montre normalement le nom du
fichier que vous <20>tes en train de visiter. Pour l'instant, vous
visitez un fichier appel<65> <20> TUTORIAL.fr <20>, qui est votre copie
2001-11-16 12:54:53 +00:00
personnelle du didacticiel Emacs. Lorsque vous trouvez un fichier avec
Emacs, son nom appara<72>t <20> cet endroit pr<70>cis.
Une particularit<69> de la commande permettant de trouver un fichier est
que vous devez donner le nom du fichier voulu. On dit que la commande
<EFBFBD> lit un param<61>tre <20> partir du terminal <20> (ici, le param<61>tre est le
2003-02-04 14:56:31 +00:00
nom du fichier). Apr<70>s avoir fait la commande
2001-11-16 12:54:53 +00:00
C-x C-f Trouve un fichier
Emacs vous demande d'entrer le nom du fichier. Ce que vous tapez
s'inscrit dans la ligne situ<74>e en bas de l'<27>cran : cette ligne
s'appelle le mini-tampon lorsqu'elle sert <20> ce type de saisie. Vous
pouvez utiliser les commandes d'<27>dition habituelles d'Emacs pour
<EFBFBD>diter le nom du fichier.
Pendant que vous entrez le nom du fichier (ou pendant n'importe quelle
saisie dans le mini-tampon), vous pouvez annuler la commande par C-g.
>> Faites C-x C-f, puis C-g. Cela annule le mini-tampon et la commande
2001-11-16 12:54:53 +00:00
C-x C-f qui utilisait celui-ci : vous ne trouvez donc aucun fichier.
Lorsque vous avez fini d'entrer le nom du fichier, tapez <Entr<74>e> pour
terminer la saisie. La commande C-x C-f effectue son travail et trouve
le fichier choisi. Le mini-tampon dispara<72>t lorsque C-x C-f a termin<69>.
Au bout d'un court instant, le contenu du fichier appara<72>t <20> l'<27>cran
et vous pouvez l'<27>diter. Lorsque vous voulez que vos modifications
deviennent permanentes, faites :
C-x C-s Sauvegarde le fichier
Cette commande copie dans le fichier le texte qui est dans Emacs. La
2001-11-16 12:54:53 +00:00
premi<EFBFBD>re fois, Emacs renomme le fichier original afin qu'il ne soit
pas perdu. Le nom de cette sauvegarde est construit en ajoutant <20> ~ <20>
<EFBFBD> la fin du nom initial.
Lorsque la sauvegarde est finie, Emacs affiche le nom du fichier
<EFBFBD>crit. Sauvegardez <20> intervalles r<>guliers afin de perdre le moins
possible de travail au cas o<> votre syst<73>me se planterait.
2001-11-16 12:54:53 +00:00
>> Faites C-x C-s pour sauvegarder votre copie du didacticiel.
Cela devrait <20>crire "Wrote ...TUTORIAL.fr" en bas de l'<27>cran.
2001-11-16 12:54:53 +00:00
REMARQUE : Sur certains syst<73>mes, C-x C-s g<>lera l'<27>cran et vous ne
2003-02-04 14:56:31 +00:00
verrez plus rien se produire dans Emacs. Cela indique qu'une
2001-11-16 12:54:53 +00:00
<EFBFBD> fonctionnalit<69> <20> du syst<73>me d'exploitation, appel<65>e <20> contr<74>le de flux <20>,
a intercept<70> le C-s et ne lui permet pas de parvenir <20> Emacs. Pour
d<EFBFBD>coincer l'<27>cran, faites C-q puis consultez la section <20> Spontaneous
Entry to Incremental Search <20> dans le manuel d'Emacs pour avoir des
avis sur la gestion de cette <20> fonctionnalit<69> <20>.
Vous pouvez trouver un fichier existant pour le visualiser ou
l'<27>diter. Vous pouvez <20>galement trouver un fichier qui n'existe pas
encore. C'est ainsi que l'on cr<63>e un fichier avec Emacs : on trouve le
fichier, qui d<>marre vide, puis on ins<6E>re du texte. Lorsque l'on
demande <20> <20> sauvegarder <20> le fichier, Emacs cr<63>e alors vraiment le
2004-10-08 18:10:51 +00:00
fichier avec le texte que l'on a ins<6E>r<EFBFBD>. <20> partir de ce moment-l<>,
vous pouvez consid<69>rer que vous <20>ditez un fichier d<>j<EFBFBD> existant.
2001-11-16 12:54:53 +00:00
* TAMPONS
---------
Si vous trouvez un second fichier avec C-x C-f, le premier reste dans
2001-11-16 12:54:53 +00:00
Emacs. Vous pouvez y revenir en le retrouvant avec C-x C-f. Il est
ainsi possible d'avoir un nombre assez important de fichiers dans
Emacs.
>> Cr<43>ez un fichier nomm<6D> <20> truc <20> en faisant C-x C-f truc <Entr<74>e>.
Puis, ins<6E>rez du texte, <20>ditez-le et sauvegardez <20> truc <20> en
faisant C-x C-s.
Enfin, faites C-x C-f TUTORIAL.fr <Entr<74>e> pour revenir au didacticiel.
2001-11-16 12:54:53 +00:00
Emacs stocke le texte de chaque fichier dans un objet appel<65> <20> tampon <20>.
Trouver un fichier cr<63>e un nouveau tampon dans Emacs. Pour voir la
2003-02-04 14:56:31 +00:00
liste des tampons existants dans votre session Emacs, faites
2001-11-16 12:54:53 +00:00
C-x C-b Liste des tampons
>> Faites C-x C-b
Vous noterez que chaque tampon a un nom et qu'il peut <20>galement avoir
un nom de fichier pour le fichier qu'il contient. TOUT texte que vous
pouvez voir dans une fen<65>tre Emacs fait toujours partie d'un tampon.
2001-11-16 12:54:53 +00:00
>> Faites C-x 1 pour faire dispara<72>tre la liste des tampons.
Lorsque vous avez plusieurs tampons, seul l'un d'entre eux est le
tampon "courant" <20> un instant donn<6E> : c'est celui que vous <20>ditez. Si
vous souhaitez <20>diter un autre tampon, vous devez "basculer" vers
lui. Pour basculer vers un tampon correspondant <20> un fichier, vous
pouvez le recharger avec C-x C-f mais il y a plus simple : utilisez la
commande C-x b en lui passant le nom du tampon.
>> Faites C-x b truc <Entr<74>e> pour revenir au tampon "truc", qui
2003-02-04 14:56:31 +00:00
contient le texte du fichier "truc".
Puis, faites C-x b TUTORIAL <Entr<74>e> pour revenir <20> ce didacticiel.
La plupart du temps, le nom d'un tampon est le m<>me que celui du
fichier qu'il contient (sans le chemin), mais ce n'est pas toujours
vrai. La liste obtenue lorsque vous faites C-x C-b montre toujours les
noms de tous les tampons.
TOUT texte que vous visualisez dans une fen<65>tre Emacs fait toujours
partie d'un tampon, mais certains tampons ne correspondent pas <20> des
fichiers : le tampon "*Buffer List*", par exemple, ne contient pas de
fichiers mais la liste obtenue par C-x C-b. Le tampon "*Messages*" ne
correspond pas non plus <20> un fichier ; il contient la liste des
messages apparus dans la ligne d'<27>tat pendant votre session Emacs.
2004-03-02 15:57:05 +00:00
>> Faites C-x b *Messages* <Entr<74>e> pour visualiser le tampon des
2003-02-04 14:56:31 +00:00
messages.
Puis, faites C-x b TUTORIAL <Entr<74>e> pour revenir <20> ce didacticiel.
Si vous modifiez le texte d'un fichier, puis que vous chargez un autre
2001-11-16 12:54:53 +00:00
fichier, le premier ne sera pas sauvegard<72>. Ses modifications restent
dans Emacs, dans le tampon qui lui est associ<63>. La cr<63>ation ou
l'<27>dition du tampon du second fichier n'a aucun effet sur le tampon du
premier. C'est tr<74>s pratique, mais cela signifie aussi que vous avez
2001-11-16 12:54:53 +00:00
besoin d'une m<>thode simple pour sauvegarder le tampon du premier
fichier. Ce serait ennuyeux de devoir y revenir avec C-x C-f juste
2001-11-16 12:54:53 +00:00
pour le sauvegarder avec C-x C-s. On a donc :
C-x s Sauvegarde certains tampons
C-x s vous demande confirmation pour savoir s'il doit sauvegarder
chaque tampon contenant des modifications non encore sauvegard<72>es. Il
vous demande, pour chacun de ces tampons, s'il doit le sauvegarder ou
2003-02-04 14:56:31 +00:00
non.
2001-11-16 12:54:53 +00:00
>> Ins<6E>rez une ligne de texte et faites C-x s.
Cela devrait vous demander si vous souhaitez sauvegarder le tampon
2003-02-04 14:56:31 +00:00
nomm<6D> TUTORIAL.fr. R<>pondez par l'affirmative en tapant <20> y <20>.
2001-11-16 12:54:53 +00:00
* EXTENSION DU JEU DE COMMANDES
-------------------------------
2004-10-08 18:10:51 +00:00
Il y a bien plus de commandes Emacs qu'il ne serait possible d'en
cr<EFBFBD>er avec tous les caract<63>res de contr<74>le et Meta. Emacs contourne ce
probl<EFBFBD>me <20> l'aide de la commande X (eXtension). Celle-ci se pr<70>sente
sous deux d<>clinaisons :
2001-11-16 12:54:53 +00:00
C-x eXtension caract<63>re, suivie d'un seul caract<63>re.
M-x eXtension d'une commande nomm<6D>e, suivie d'un nom long.
2001-11-16 12:54:53 +00:00
Ces commandes sont g<>n<EFBFBD>ralement des commandes utiles, mais elles sont
moins souvent utilis<69>es que celles que vous avez d<>j<EFBFBD> apprises. Vous
en avez d<>j<EFBFBD> rencontr<74> deux : les commandes de fichiers C-x C-f pour
trouver un fichier et C-x C-s pour sauvegarder. Un autre exemple est
la commande qui met fin <20> la session Emacs : C-x C-c (ne vous
inqui<EFBFBD>tez pour les modifications que vous avez faites, C-x C-c vous
2001-11-16 12:54:53 +00:00
proposera de sauvegarder tous les fichiers modifi<66>s avant de quitter
Emacs).
C-z est la commande permettant de quitter *temporairement* Emacs --
afin de pouvoir revenir <20> la m<>me session plus tard.
2001-11-16 12:54:53 +00:00
Sur les syst<73>mes qui le permettent, C-z <20> suspend <20> Emacs ;
c'est-<2D>-dire qu'il revient au shell mais ne d<>truit pas Emacs. Avec
les shells les plus courants, vous pouvez revenir <20> Emacs en faisant
la commande 'fg' ou '%emacs'.
Sur les syst<73>mes qui n'impl<70>mentent pas ce m<>canisme, C-z cr<63>e un
sous-shell qui s'ex<65>cute sous Emacs afin que vous puissiez lancer
d'autres programmes et revenir <20> Emacs ensuite : vous ne <20> sortez <20>
pas vraiment d'Emacs. Dans ce cas, la commande shell 'exit' est le
moyen habituel pour revenir <20> Emacs <20> partir de ce sous-shell.
Le moment id<69>al pour utiliser C-x C-c est lorsque l'on se
d<EFBFBD>connecte. C'est aussi la commande adapt<70>e pour sortir d'un Emacs
invoqu<EFBFBD> par un programme de courrier ou tout autre utilitaire car
ceux-ci peuvent ne pas savoir comment g<>rer la suspension d'Emacs. Dans
2001-11-16 12:54:53 +00:00
des situations normales, si vous ne devez pas vous d<>connecter, il est
pr<EFBFBD>f<EFBFBD>rable de suspendre Emacs avec C-z au lieu de le quitter.
Il existe de nombreuses commandes C-x. Voici une liste de celles que
vous avez apprises :
C-x C-f Trouve un fichier.
C-x C-s Sauvegarde un fichier.
C-x C-b Liste des tampons.
C-x C-c Quitte Emacs.
C-x 1 D<>truit toutes les fen<65>tres, sauf une.
C-x u Annulation.
Les eXtensions de commandes nomm<6D>es sont des commandes utilis<69>es
encore moins souvent, ou des commandes qui ne servent que dans
certains modes. Un exemple est la commande replace-string, qui
remplace globalement une cha<68>ne par une autre. Lorsque vous faites
M-x, Emacs affiche M-x en bas de l'<27>cran et vous demande de taper le
nom de la commande, <20> replace-string <20> ici. Contentez-vous de faire
<EFBFBD>repl s<TAB> <20> et Emacs compl<70>tera le nom (<TAB> repr<70>sente la touche
de tabulation, qui se trouve habituellement au-dessus de la touche de
verrouillage des majuscules, <20> gauche du clavier). Terminez la
commande en pressant <Entr<74>e>.
La commande replace-string n<>cessite deux param<61>tres -- la cha<68>ne <20>
remplacer et la cha<68>ne de remplacement. Vous devez terminer chaque
param<EFBFBD>tre par <Entr<74>e>.
>> D<>placez le curseur sur la ligne blanche deux lignes plus bas.
Puis, faites M-x repl s<Entr<74>e>chang<6E>e<Entr<74>e>modifi<66>e<Entr<74>e>.
Notez comment cette ligne a <20>t<EFBFBD> chang<6E>e : vous avez remplac<61> le mot
c-h-a-n-g-<2D>-e par <20> modifi<66>e <20> <20> chaque fois qu'il apparaissait apr<70>s
la position initiale du curseur.
* SAUVEGARDE AUTOMATIQUE
------------------------
Lorsque vous avez modifi<66> un fichier, mais que vous ne l'avez pas
encore sauvegard<72>, ces modifications pourraient <20>tre perdues si votre
2004-10-08 18:10:51 +00:00
syst<EFBFBD>me se plantait. Pour vous prot<6F>ger de ce probl<62>me, Emacs <20>crit
2001-11-16 12:54:53 +00:00
p<EFBFBD>riodiquement un fichier de <20> sauvegarde automatique <20> pour chaque
fichier en cours d'<27>dition. Le nom de ce fichier commence et se
termine par un # : si, par exemple, votre fichier s'appelle
<EFBFBD><EFBFBD>hello.c<><63>, son fichier de sauvegarde automatique s'appellera
<EFBFBD><EFBFBD>#hello.c#<23><>. Lorsque vous sauvegardez le fichier de la fa<66>on
habituelle, Emacs d<>truit son fichier de sauvegarde automatique.
2001-11-16 12:54:53 +00:00
Si l'ordinateur se plante, vous pouvez r<>cup<75>rer ce qui a <20>t<EFBFBD>
sauvegard<EFBFBD> automatiquement en ouvrant normalement le fichier (celui
que vous <20>ditiez, pas la sauvegarde automatique), puis en faisant
M-x<>recover file<Entr<74>e>. Lorsqu'Emacs vous demande de confirmer,
tapez yes<Entr<74>e> pour continuer et r<>cup<75>rer ainsi les donn<6E>es
sauv<EFBFBD>es par la sauvegarde automatique.
2001-11-16 12:54:53 +00:00
* ZONE D'ECHO
-------------
Si Emacs constate que vous tapez les commandes multi-caract<63>res
lentement, il les affiche en bas de l'<27>cran dans une zone nomm<6D>e <20>
zone d'<27>cho <20>. La zone d'<27>cho contient la derni<6E>re ligne de l'<27>cran.
2001-11-16 12:54:53 +00:00
* LIGNE DE MODE
---------------
La ligne plac<61>e imm<6D>diatement au dessus de la zone d'<27>cho s'appelle la
<EFBFBD> ligne de mode <20>. Elle affiche quelque chose comme <20>a :
2004-10-08 18:10:51 +00:00
-1:** TUTORIAL.fr (Fundamental)--L752--67%----------------
2001-11-16 12:54:53 +00:00
Cette ligne donne des informations sur l'<27>tat d'Emacs et sur le texte
que vous <20>tes en train d'<27>diter.
Vous savez d<>j<EFBFBD> ce que signifie le nom de fichier -- c'est celui que
vous avez charg<72>. -NN%-- indique votre position actuelle dans le
2004-10-08 18:10:51 +00:00
texte ; cela signifie que NN pour cent du texte se trouve au dessus du
2001-11-16 12:54:53 +00:00
sommet de l'<27>cran. Si le d<>but du fichier est sur l'<27>cran, il
s'affichera --Top-- et non --00%--. Si le bas du texte est sur
l'<27>cran, il s'affichera --Bot--. Si tout le texte tient dans l'<27>cran,
2001-11-16 12:54:53 +00:00
il s'affichera --All--.
Le L et les chiffres qui le suivent indiquent une position d'une fa<66>on
diff<EFBFBD>rente : ils indiquent le num<75>ro de la ligne courante du point.
Les ast<73>risques au d<>but signifient que vous avez modifi<66> le
texte. Lorsque vous venez de visiter ou sauvegarder un fichier, cette
partie de la ligne de mode n'affichera pas d'ast<73>risques mais
simplement des tirets.
La partie de la ligne de mode situ<74>e entre parenth<74>ses indique les
modes d'<27>dition dans lesquels vous vous trouvez. Le mode par d<>faut
est <20> Fundamental <20> et c'est celui que vous <20>tes en train
d'utiliser. C'est un exemple de <20> mode majeur <20>.
Emacs poss<73>de de nombreux modes majeurs diff<66>rents. Certains sont
pr<EFBFBD>vus pour <20>diter diff<66>rents langages et/ou types de texte (mode
Lisp, mode Text, etc). <20> tout instant, il n'y a qu'un seul mode majeur
actif et son nom se trouve toujours dans la ligne de mode, <20> l'endroit
2004-10-08 18:10:51 +00:00
o<EFBFBD> <20> Fundamental <20> se trouve actuellement.
2001-11-16 12:54:53 +00:00
Chaque mode majeur modifie le comportement de quelques commandes. Il
existe, par exemple, des commandes pour cr<63>er des commentaires dans un
programme et, comme chaque langage de programmation a sa propre
syntaxe pour les commentaires, chaque mode majeur doit ins<6E>rer ceux-ci
de fa<66>on diff<66>rente. Un mode majeur est le nom d'une commande <20>tendue,
qui vous permet de basculer dans ce mode. M-x fundamental-mode, par
exemple, est une commande pour basculer dans le mode Fundamental.
Si vous devez <20>diter du texte en langage naturel, comme ce fichier,
vous utiliserez probablement le mode Text.
2001-11-16 12:54:53 +00:00
>> Faites M-x text mode<Entr<74>e>.
Ne vous inqui<75>tez pas, aucune des commandes Emacs que vous avez
apprises ne change beaucoup mais vous pouvez constater que M-f et M-b
traitent maintenant les apostrophes comme des parties de mots. Avant,
dans le mode Fundamental, M-f et M-b les consid<69>raient comme des
s<EFBFBD>parateurs de mots.
Les modes majeurs font g<>n<EFBFBD>ralement des modifications subtiles comme
celle-ci : la plupart des commandes font <20> la m<>me chose <20> dans tous
les modes majeurs, mais fonctionnent un peu diff<66>remment.
Pour lire la documentation sur votre mode majeur actuel, faites C-h m.
>> Faites une fois C-u C-v pour amener cette ligne pr<70>s du haut de l'<27>cran.
>> Faites C-h m pour voir comment le mode Text diff<66>re du mode Fundamental.
>> Faites C-x 1 pour supprimer la documentation de l'<27>cran.
Les modes majeurs sont appel<65>s ainsi parce qu'il existe aussi des modes
mineurs. Ces derniers ne sont pas des alternatives aux modes majeurs,
mais simplement des modifications de ceux-ci. Tout mode mineur peut
<EFBFBD>tre activ<69> ou d<>sactiv<69> ind<6E>pendamment de tous les autres modes
mineurs et de votre mode majeur. Vous pouvez donc n'utiliser aucun
mode mineur, un seul, ou toute combinaison de plusieurs modes mineurs.
Un mode mineur tr<74>s utile, surtout lorsque l'on <20>dite du langage
naturel, est le mode Auto Fill. Lorsqu'il est activ<69>, Emacs coupe
automatiquement la ligne entre les mots lorsque vous ins<6E>rez du texte
et que la ligne est trop longue.
2001-11-16 12:54:53 +00:00
Vous pouvez activer le mode Auto Fill en faisant M-x auto fill
mode<Entr<74>e>. Lorsqu'il est activ<69>, vous pouvez le d<>sactiver en
faisant <20> nouveau M-x<>auto fill mode<Entr<74>e>. Si le mode est
d<EFBFBD>sactiv<EFBFBD>, cette commande l'active et, s'il est activ<69>, elle le
d<EFBFBD>sactive : on dit que la commande <20> fait basculer le mode <20>.
2001-11-16 12:54:53 +00:00
>> Faites M-x auto fill mode<Entr<74>e> puis ins<6E>rez une ligne de
2003-02-04 14:56:31 +00:00
plusieurs <20> azer <20> jusqu'<27> ce qu'elle se divise en deux lignes.
Vous devez mettre des espaces entre eux car le mode Auto Fill ne
coupe les lignes que sur les espaces.
2001-11-16 12:54:53 +00:00
La marge est habituellement fix<69>e <20> 70 caract<63>res, mais pouvez
modifier cette valeur avec la commande C-x f. Vous devez fournir la
nouvelle valeur de la marge sous la forme d'un param<61>tre num<75>rique.
>> Faites C-x f avec un param<61>tre de 20 (C-u 2 0 C-x f).
Puis, tapez du texte et vous verrez qu'Emacs fait des lignes de 20
caract<63>res. Remettez la marge <20> 70 en refaisant C-x f.
Si vous faites des modifications au milieu d'un paragraphe, le mode
2003-02-04 14:56:31 +00:00
Auto Fill ne reformatera pas ce paragraphe.
Pour cela, faites M-q (META-q) lorsque le curseur est plac<61> dans ce
2003-02-04 14:56:31 +00:00
paragraphe.
2001-11-16 12:54:53 +00:00
>> Placez le curseur dans le paragraphe pr<70>c<EFBFBD>dent et faites M-q.
* RECHERCHE
-----------
Emacs peut rechercher des cha<68>nes de caract<63>res (ce sont des groupes
de caract<63>res contigus ou mots) soit vers l'avant, soit vers
l'arri<72>re. La recherche d'une cha<68>ne est une commande de d<>placement
du curseur : elle d<>place le curseur <20> l'emplacement o<> la cha<68>ne
appara<EFBFBD>t.
La commande de recherche d'Emacs est diff<66>rente de celle que l'on
trouve sur la plupart des <20>diteurs car elle est <20> incr<63>mentale <20>. Cela
signifie que la recherche a lieu pendant que l'on tape la cha<68>ne que
l'on recherche.
La commande pour d<>buter une recherche est C-s pour rechercher vers
l'avant et C-r pour rechercher vers l'arri<72>re. MAIS ATTENDEZ !
N'essayez pas encore.
Lorsque vous faites C-s la cha<68>ne <20> I-search <20> appara<72>t comme invite
dans la zone d'<27>cho. Cela vous indique qu'Emacs est dans ce que l'on
appelle une recherche incr<63>mentale et qu'il attend que vous tapiez ce
que vous recherchez. <Entr<74>e> termine une recherche.
>> Faites C-s pour lancer une recherche. LENTEMENT, une lettre <20> la
fois, tapez le mot <20> curseur <20>, en attendant entre chaque caract<63>re
pour constater ce que fait le curseur. Vous avez maintenant atteint
<20> curseur <20> une premi<6D>re fois.
>> Tapez C-s <20> nouveau pour trouver l'occurrence suivante de <20> curseur <20>.
>> Faites maintenant <Delback> quatre fois et <20>tudiez les mouvements du
2001-11-16 12:54:53 +00:00
curseur.
>> Faites <Entr<74>e> pour mettre fin <20> la recherche.
Avez-vous vu ce qui se passait ? Emacs, dans une recherche
incr<EFBFBD>mentale, essaie d'aller sur l'occurrence de la cha<68>ne que vous
avec tap<61>e jusqu'<27> cet instant. Pour aller sur l'occurrence suivante de
<EFBFBD> curseur <20>, il suffit de refaire C-s : s'il ne trouve rien, Emacs
bippe et vous indique que la recherche a <20>chou<6F>. C-g permet <20>galement
de mettre fin <20> la recherche.
REMARQUE : Sur certains syst<73>mes, C-s g<>lera l'<27>cran et vous ne verrez
plus rien se produire dans Emacs. Cela indique qu'une
<EFBFBD><EFBFBD>fonctionnalit<EFBFBD> <20> du syst<73>me d'exploitation, appel<65>e <20> contr<74>le de
flux <20>, a intercept<70> le C-s et ne lui permet pas de parvenir <20>
Emacs. Pour d<>coincer l'<27>cran, faites C-q puis consultez la section
<EFBFBD><EFBFBD>Spontaneous Entry to Incremental Search <20> dans le manuel d'Emacs
pour avoir des avis sur la gestion de cette <20> fonctionnalit<69> <20>.
2001-11-16 12:54:53 +00:00
Si vous vous trouvez au milieu d'une recherche incr<63>mentale et que
vous tapez <Delback>, vous remarquerez que cela supprime le dernier
2001-11-16 12:54:53 +00:00
caract<EFBFBD>re de la cha<68>ne recherch<63>e et que la recherche reprend <20>
l'endroit o<> elle se trouvait pr<70>c<EFBFBD>demment. Supposons, par exemple,
que vous ayiez tap<61> <20> c <20> pour trouver la premi<6D>re occurrence de
<EFBFBD><EFBFBD>c<EFBFBD><EFBFBD>. Si vous tapez maintenant <20> u <20>, le curseur ira sur la premi<6D>re
occurrence de <20> cu <20>. Faites <Delback> : cela supprime le <20> u <20> de la
2001-11-16 12:54:53 +00:00
cha<EFBFBD>ne de recherche et le curseur revient <20> la premi<6D>re occurrence de
<EFBFBD> c <20>.
Si vous <20>tes au milieu d'une recherche et que vous tapez un caract<63>re
de contr<74>le ou un meta-caract<63>re (sauf quelques exceptions -- les
caract<EFBFBD>res consid<69>r<EFBFBD>s comme sp<73>ciaux pour les recherches, tels que C-s
et C-r), cela met fin <20> la recherche.
C-s lance une recherche de toutes les occurrences de la cha<68>ne APR<50>S la
position courante du curseur. Si vous voulez faire une recherche plus
haut dans le texte, faites plut<75>t C-r. Tout ce que nous avons dit sur
C-s s'applique <20>galement <20> C-r, sauf que la direction de la recherche
est invers<72>e.
2004-10-08 18:10:51 +00:00
* FEN<45>TRES MULTIPLES
2001-11-16 12:54:53 +00:00
--------------------
L'une des caract<63>ristiques les plus agr<67>ables d'Emacs est que vous
pouvez afficher plusieurs fen<65>tres en m<>me temps <20> l'<27>cran.
>> Placez le curseur sur cette ligne et faites C-u 0 C-l (CTRL-L, pas
CTRL-1).
2003-02-04 14:56:31 +00:00
2001-11-16 12:54:53 +00:00
>> Faites maintenant C-x 2 pour diviser l'<27>cran en deux
fen<65>tres. Toutes les deux affichent ce didacticiel et le curseur
reste dans celle du haut.
>> Faites C-M-v pour faire d<>filer la fen<65>tre du bas
(Si vous n'avez pas de touche Meta, faites <ESC>C-V).
>> Tapez C-x o (<28> o <20> pour <20> other <20>) afin de placer le curseur dans
la fen<65>tre du bas.
>> Utilisez C-v et M-v pour la faire d<>filer.
Conservez ces instructions dans la fen<65>tre du haut.
>> Faites <20> nouveau C-x o pour replacer le curseur dans la fen<65>tre du
haut. Le curseur est exactement o<> il <20>tait avant.
Vous pouvez continuer <20> utiliser C-x o pour passer d'une fen<65>tre <20>
l'autre. Chaque fen<65>tre a sa propre position du curseur, mais une
seule le montre vraiment. Toutes les commandes d'<27>dition habituelles
s'appliquent <20> la fen<65>tre dans laquelle se trouve le curseur : on
l'appelle la <20> fen<65>tre s<>lectionn<6E>e <20>.
La commande C-M-v est tr<74>s utile lorsque l'on <20>dite du texte dans une
fen<EFBFBD>tre et que l'on utilise l'autre uniquement comme r<>f<EFBFBD>rence. Vous
pouvez conserver le curseur dans la fen<65>tre o<> vous <20>ditez et
parcourir l'autre fen<65>tre avec C-M-v.
C-M-v est un exemple de caract<63>re CONTROLE-META. Si vous disposez
d'une touche META, vous pouvez faire C-M-v en pressant <20> la fois
CONTROLE et META tout en tapant v. Peu importe qui, de CONTROLE ou
META est press<73>e en premier car ces deux touches agissent en modifiant
les caract<63>res que vous tapez.
Si vous n'avez pas de touche META et que vous utilisez <ESC> <20> la
place, l'ordre a son importance : vous devez taper <ESC> puis C-v car
C-ESC v ne fonctionnera pas. En effet, <ESC> est un caract<63>re en
lui-m<>me, ce n'est pas un modificateur de touches.
>> Faites C-x 1 (dans la fen<65>tre du haut) pour supprimer la fen<65>tre du
bas.
(Si vous aviez fait C-x 1 dans la fen<65>tre du bas, vous auriez supprim<69>
celle du haut. Pensez <20> cette commande comme signifiant <20> ne garde
qu'une fen<65>tre, celle dans laquelle je suis <20>).
Vous n'<27>tes pas oblig<69> d'afficher le m<>me tampon dans les deux
fen<EFBFBD>tres. Si vous faites C-x C-f pour trouver un fichier dans une
fen<EFBFBD>tre, l'autre n'est pas modifi<66>e. Chaque fen<65>tre peut contenir un
fichier ind<6E>pendamment de l'autre.
2001-11-16 12:54:53 +00:00
Voici une autre fa<66>on d'utiliser deux fen<65>tres pour afficher deux
choses diff<66>rentes :
>> Faites C-x 4 C-f suivi du nom d'un de vos fichiers puis faites
<Entr<74>e>. Le fichier indiqu<71> appara<72>t dans la fen<65>tre du bas et le
curseur s'y rend <20>galement.
>> Faites C-x o pour revenir <20> la fen<65>tre du haut, puis C-x 1 pour
supprimer celle du bas.
* NIVEAUX D'<27>DITION R<>CURSIVE
-----------------------------
Parfois, vous vous trouverez dans ce qui s'appelle un <20> niveau
d'<27>dition r<>cursive <20>. Cela est indiqu<71> par des crochets dans la ligne
de mode, entourant les parenth<74>ses situ<74>es autour du nom du mode
majeur. Vous verrez, par exemple [(Fundamental)] au lieu de (Fundamental).
Pour sortir du niveau d'<27>dition r<>cursive, faites ESC ESC ESC. C'est
une commande de sortie <20> tout faire. Vous pouvez <20>galement l'utiliser
pour supprimer les fen<65>tres suppl<70>mentaires et pour sortir du
mini-tampon.
>> Faites M-x pour aller dans le mini-tampon, puis faites ESC ESC ESC
pour en sortir.
Vous ne pouvez pas utiliser C-g pour sortir d'un niveau d'<27>dition
r<EFBFBD>cursive car cette commande sert <20> annuler des commandes et des
param<EFBFBD>tres DANS le niveau d'<27>dition r<>cursive.
* OBTENIR DE L'AIDE SUPPL<50>MENTAIRE
----------------------------------
Nous avons essay<61>, dans ce didacticiel, de ne fournir que les
informations suffisantes pour commencer <20> utiliser Emacs. Il y a tant
de possibilit<69>s avec Emacs qu'il serait impossible de tout expliquer
ici. Cependant, vous pouvez vouloir en apprendre plus, car il a bien
2001-11-16 12:54:53 +00:00
d'autres fonctionnalit<69>s utiles. Emacs dispose de commandes pour lire
la documentation sur ses commandes. Ces commandes d'<27> aide <20>
commencent toutes par le caract<63>re C-h, le <20><>caract<63>re d'aide<64><65>.
2001-11-16 12:54:53 +00:00
Pour utiliser l'aide, tapez C-h suivi d'un caract<63>re indiquant le type
d'aide que vous souhaitez. Si vous <20>tes VRAIMENT perdu, faites C-h ?
et Emacs vous indiquera les types d'aide qu'il peut fournir. Si vous
avez tap<61> C-h et que vous vous ravisez, il vous suffit de faire C-g
pour annuler.
Certains sites changent la signification du caract<63>re C-h. Ils ne
devraient pas le faire <20> la l<>g<EFBFBD>re pour tous les utilisateurs et vous
<EFBFBD>tes donc en droit de vous plaindre aupr<70>s de l'administrateur
syst<EFBFBD>me. Cependant, si C-h n'affiche pas de message d'aide en bas de
l'<27>cran, essayez <20> la place la touche F1 ou M-x help <Entr<74>e>.
2001-11-16 12:54:53 +00:00
La commande d'aide la plus simple est C-h c. Faites C-h, le caract<63>re
c, puis un caract<63>re ou une s<>quence de commande : Emacs affichera une
description tr<74>s courte de cette commande.
>> Faites C-h c C-p.
Le message devrait <20>tre quelque chose comme :
C-p runs the command previous-line
Cela vous donne le <20> nom de la fonction <20>. Les noms de fonction
servent principalement <20> la personnalisation et <20> l'extension d'Emacs,
2001-11-16 12:54:53 +00:00
mais comme ils sont choisis de fa<66>on <20> indiquer ce que fait la
commande, ils servent <20>galement de documentation rapide -- c'est
suffisant pour vous rappeler les commandes que vous avez d<>j<EFBFBD>
apprises.
Les commandes multi-caract<63>res, comme C-x C-s et (si vous n'avez ni
touche META, ni touche EDIT, ni touche ALT) <ESC>v sont <20>galement
possibles apr<70>s C-h c.
Pour obtenir plus d'informations sur une commande, faites C-h k au
lieu de C-h c.
>> Faites C-h k C-p.
Cela affiche la documentation de la fonction, ainsi que son nom, dans
une fen<65>tre Emacs. Lorsque vous avez fini de lire, faites C-x 1 pour
supprimer le texte de l'aide. Vous n'<27>tes pas oblig<69> de le faire tout
de suite ; vous pouvez continuer <20> travailler tout en vous r<>f<EFBFBD>rant <20>
l'aide, puis taper C-x 1 lorsque vous n'avez plus besoin de celle-ci.
Voici d'autres options utiles de C-h :
C-h f D<>crit une fonction. Vous tapez le nom de la fonction.
>> Faites C-h f previous-line<Entr<74>e>.
Cela affiche toutes les informations dont dispose Emacs sur la
fonction qui impl<70>mente la commande C-p.
C-h a Commande Apropos. Tapez un mot-cl<63> et Emacs affichera
toutes les commandes dont les noms contiennent ce
mot-cl<63>. Ces commandes peuvent toutes <20>tre invoqu<71>es
avec M-x. Pour certaines, la commande Apropos
affichera <20>galement une s<>quence d'un ou deux
caract<63>res ex<65>cutant la m<>me commande.
>> Faites C-h a file<Entr<74>e>.
Cela affiche dans une autre fen<65>tre une liste de toutes les commandes
M-x ayant <20> file <20> dans leurs noms. Vous verrez des commandes
caract<EFBFBD>res, comme C-x C-f, appara<72>tre <20> c<>t<EFBFBD> des noms de commandes qui
leur correspondent, comme find-file.
>> Faites C-M-v pour faire d<>filer la fen<65>tre d'aide. Faites-le
plusieurs fois.
>> Faites C-x 1 pour supprimer la fen<65>tre d'aide.
C-h i Manuels en ligne (alias Info). Cette commande vous place dans
un tampon sp<73>ciale, appel<65> <20> *info* <20>, o<> vous pouvez
lire les manuels en ligne des paquetages install<6C>s sur
votre syst<73>me. Faites m<>emacs<63><Entr<74>e> pour lire le
manuel d'Emacs. Si vous n'avez jamais utilis<69> Info
2003-02-04 14:56:31 +00:00
auparavant, tapez ? et Emacs vous fera faire une visite
guid<69>e des fonctionnalit<69>s du mode Info. Lorsque vous
en aurez fini avec ce didacticiel, le manuel Info
d'Emacs devrait <20>tre votre source de documentation
2003-02-04 14:56:31 +00:00
essentielle.
2001-11-16 12:54:53 +00:00
* FONCTIONNALIT<49>S SUPPL<50>MENTAIRES
---------------------------------
Vous pouvez en apprendre plus en lisant le manuel d'Emacs, qu'il soit
imprim<EFBFBD> ou en ligne avec le syst<73>me Info (utilisez le menu Help, ou
faites F10 h r). Les deux fonctionnalit<69>s que vous appr<70>cierez
particuli<EFBFBD>rement sont la compl<70>tion, qui permet d'<27>conomiser la
frappe, et dired, qui simplifie la manipulation des fichiers.
La compl<70>tion permet d'<27>viter les frappes inutiles. Si, par exemple,
vous voulez basculer vers le tampon *Messages*, tapez simplement
C-x<>b<EFBFBD>*M<Tab> et Emacs compl<70>tera le nom du tampon s'il peut le
d<EFBFBD>terminer <20> partir de ce que vous avez saisi avant la tabulation. La
compl<EFBFBD>tion est d<>crite dans la version Info du manuel Emacs, <20> la
rubrique "Completion".
Dired vous permet de consulter la liste des fichiers d'un r<>pertoire
(et, <20>ventuellement, de ses sous-r<>pertoires), de vous d<>placer dans
cette liste, d'ouvrir, de renommer, de supprimer et, de fa<66>on
g<EFBFBD>n<EFBFBD>rale, de manipuler ces fichiers. Dired est d<>crit dans la version
Info du manuel Emacs, <20> la rubrique "Dired".
Le manuel d<>crit <20>galement les nombreuses autres fonctionnalit<69>s
d'Emacs.
2001-11-16 12:54:53 +00:00
* CONCLUSION
------------
Rappelez-vous, pour quitter d<>finitivement Emacs, faites C-x C-c. Pour
lancer temporairement un shell et pouvoir ensuite revenir <20> Emacs,
2001-11-16 12:54:53 +00:00
faites C-z.
Ce didacticiel est destin<69> <20> <20>tre compr<70>hensible par tous les nouveaux
utilisateurs. Si vous avez trouv<75> que quelque chose n'<27>tait pas clair,
ne restez pas les bras crois<69>s <20> vous accuser de tous les maux --
plaignez-vous !
* COPIE
---------
Ce didacticiel descend d'une longue lign<67>e de didacticiels Emacs,
d<EFBFBD>but<EFBFBD>e par celui qui fut <20>crit par Stuart Cracraft pour le premier
Emacs.
Cette version du didacticiel, comme GNU Emacs, est plac<61>e sous
copyright, et vous pouvez en distribuer des copies sous certaines
conditions :
2003-02-04 14:56:31 +00:00
Copyright (c) 1985, 1996, 2001, 2002 Free Software Foundation
2001-11-16 12:54:53 +00:00
Chacun peut cr<63>er ou distribuer des copies de ce document tel qu'il
l'a re<72>u, sur n'importe quel support, pourvu que la note de
copyright et cette note de permission soient pr<70>serv<72>es et que le
distributeur garantisse au destinataire la permission d'une
redistribution ult<6C>rieure telle qu'elle est permise par cette note.
Vous pouvez distribuer des versions modifi<66>es de ce document, ou
de parties modifi<66>es de celui-ci sous les conditions cit<69>es plus haut,
pourvu qu'il soit clairement indiqu<71> qui les a modifi<66> pour la
derni<6E>re fois.
Les conditions de copie d'Emacs lui-m<>me sont plus complexes, mais
dans le m<>me esprit. Lisez le fichier COPYING et donnez ensuite des
copies de GNU Emacs <20> vos amis. Participez <20> l'<27>radication de
l'obstructionnisme du logiciel (sa <20> propri<72>tarisation <20>) en
utilisant, <20>crivant et partagent des logiciels libres !
2002-06-16 17:12:35 +00:00
Cette traduction fran<61>aise a <20>t<EFBFBD> effectu<74>e par <20>ric Jacoboni
<jaco@teaser.fr>.
2002-06-16 17:12:35 +00:00
--- end of TUTORIAL.fr ---
;;; Local Variables:
;;; coding: latin-1
;;; sentence-end-double-space: nil
2002-06-16 17:12:35 +00:00
;;; End:
2003-09-01 15:45:59 +00:00
;;; arch-tag: f6c5c2ff-bf24-477c-bd18-32f76f51ba65