1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
|
Didacticiel d'Emacs. Voir la fin de ce document pour les conditions.
Les commandes Emacs utilisent généralement la touche CONTROLE (souvent
désignée par CTRL ou CTL) ou la touche META (souvent désignée par EDIT
ou ALT). Pour ces touches, nous utiliserons les abréviations suivantes :
C-<car> signifie qu'il faut maintenir la touche CONTROLE appuyée tout
en tapant le caractère <car>. Ainsi, C-f signifie : presser
sur la touche CONTROLE tout en pressant la touche f.
M-<car> signifie qu'il faut maintenir la touche META ou EDIT ou ALT
appuyée tout en tapant le caractère <car>. Si aucune de ces
touches n'existe, pressez puis relâchez la touche ESC et
tapez <car>. Nous écrirons <ESC> pour désigner la touche ESC.
Tapez C-x C-c (deux caractères) pour terminer une session Emacs.
Dans ce didacticiel, les caractères ">>" en marge gauche indiquent les
directions à suivre pour essayer une commande. Ainsi :
<<Lignes blanches insérées après cette ligne par help-with-tutorial>>
[Centre de page delibérément vide. Le texte continue ci-dessous.]
>> Tapez C-v (Voir l'écran suivant) pour passer à l'écran suivant
(faites-le, pressez la touche CTRL tout en pressant la touche v).
À partir de maintenant, vous devrez le faire à chaque fois que
vous avez fini de lire l'écran.
Vous remarquerez qu'il y a un recouvrement de deux lignes lorsque l'on
passe d'un écran à un autre : cela permet une certaine continuité dans
la lecture du texte.
La première chose que vous devez savoir est comment vous déplacer à
travers le texte. Vous savez déjà comment avancer d'un écran avec
C-v. Pour revenir un écran en arriè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.
Si votre terminal en dispose, vous pouvez également utiliser les
touches PgUp et PgDn pour monter ou descendre d'un écran, bien que les
combinaisons C-v et M-v soient plus efficaces.
* RÉSUMÉ
--------
Les commandes suivantes servent à manipuler des écrans :
C-v Avance d'un écran
M-v Recule d'un écran
C-l Efface l'écran et réaffiche tout le texte autour du
curseur, qui est placé au milieu de l'écran
(il s'agit de CTRL-L, pas de CTRL-1).
>> Notez le texte situé à côté du curseur, puis faites C-l.
Recherchez l'emplacement du curseur et vous remarquerez que
c'est le même texte qui est à côté de lui.
* GESTION DU CURSEUR
--------------------
Passer d'un écran à l'autre est pratique, mais comment se déplacer à
un endroit précis du texte dans un écran ?
Il existe plusieurs faç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 équivalentes aux quatre touches du curseur :
Ligne précédente, C-p
:
:
En arrière, C-b .... Position courante .... Vers l'avant, C-f
:
:
Ligne suivante, C-n
>> Déplacez le curseur sur la ligne située au milieu de ce schéma en
utilisant C-n ou C-p. Puis, faites C-l pour placer le schéma au
centre de l'écran.
Si vous connaissez un peu l'anglais, vous aurez sûrement constaté
qu'il était facile de se rappeler que P signifiait Previous
(précédent), N Next (suivant), B Backward (en arrière) et F Forward
(vers l'avant).
>> 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
des C-p. Notez ce que fait C-p lorsque le curseur est au milieu de
la ligne.
Chaque ligne de texte se termine par un caractère Newline, qui sert à
la séparer de la ligne suivante. La derniè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 à la fin de la ligne précédente car il passe au-dessus du
caractère Newline.
C-f peut passer au-dessus d'un Newline, tout comme C-b.
>> Faites encore quelques C-b afin de bien sentir où est le curseur.
Puis, faites des C-f pour revenir à la fin de la ligne.
Enfin, faites quelques C-f supplémentaires pour passer à la ligne
suivante.
Lorsque vous dépassez le haut ou le bas de l'écran, le texte au-delà
de ces limites est décalé pour passer dans l'écran : c'est ce qu'on
appelle le « scrolling ». Cela permet à Emacs de placer le curseur à
l'emplacement spécifié dans le texte sans devoir le placer en dehors
de l'écran.
>> Essayez de placer le curseur au-delà du bas de l'écran avec C-n et
constatez ce qui se passe.
Si le déplacement caractère par caractè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 êtes au milieu d'un mot, M-f place le curseur à la fin du
mot. Lorsque vous êtes entre deux mots, M-f place le curseur à la fin
du mot suivant. M-b fonctionne de la même façon dans la direction
opposée.
>> Faites plusieurs fois M-f et M-b, espacés de C-f et C-b afin
d'observer l'action de M-f et M-b aux différents emplacements à
l'intérieur et à l'extérieur des mots.
Notez le parallèle entre C-f et C-b d'un côté et M-f et M-b de
l'autre. Très souvent, les caractères Meta servent à des opérations
sur des unités définies par le langage (mots, phrases, paragraphe)
alors que les caractères de contrôle opèrent sur les unités de base
indépendantes de ce que l'on édite (caractères, lignes, etc.).
Ce parallèle s'applique entre les lignes et les phrases : C-a et C-e
déplacent le curseur au début ou à la fin d'une ligne, tandis que M-a
et M-e le placent au début ou à 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é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 à fait analogues, chacune d'elle semble
naturelle.
L'emplacement du curseur dans le texte est également appelé « point ».
Pour paraphraser, le curseur apparaît à l'écran à l'endroit où le
point est situé dans le texte.
Voici un résumé des opérations de déplacements simples du curseur,
ainsi que les commandes de déplacement par mots et par phrases.
C-f Avance d'un caractère
C-b Recule d'un caractè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 à la fin de la ligne
M-a Va au début de la phrase
M-e Va à la fin de la phrase
>> Essayez toutes ces commandes plusieurs fois afin de vous entraîner.
Ce sont celles qui sont utilisées le plus souvent.
M-< (Meta inférieur à) et M-> (Meta supérieur à) sont deux autres
commandes importantes de déplacement du curseur. La première renvoie
au tout début du texte, la seconde à la fin de celui-ci.
Sur certains claviers, le "<" se trouve sous la virgule, vous devez
donc utiliser la touche <Maj> pour y avoir accès. Sur ces terminaux,
vous devez utiliser é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 à la fin du didacticiel.
Puis, faites plusieurs fois M-v pour revenir ici.
Vous pouvez également déplacer le curseur à l'aide des touches de
curseur, si votre terminal en dispose. Nous vous conseillons
d'apprendre à 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é Emacs, vous
vous rendrez compte qu'il est plus rapide de taper ces caractères de
contrô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ètre numérique qui,
la plupart du temps, indique un nombre de répétitions. Pour indiquer à
une commande le nombre de fois que l'on souhaite la répé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çon d'entrer
un paramètre numérique : tapez le nombre tout en pressant la touche
META. Nous vous conseillons d'apprendre à utiliser la méthode C-u car
elle fonctionne sur tous les types de terminaux. Le paramètre
numérique est également appelé « paramètre préfixe » car on le précise
avant la commande sur laquelle il s'applique.
C-u 8 C-f, par exemple, avance le curseur de huit caractères.
>> Utilisez C-n ou C-p avec un paramètre numé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ètre numérique pour
indiquer un nombre de répétitions, mais d'autres s'en servent
autrement. Plusieurs commandes (mais aucune de celles que nous avons
vues jusqu'à maintenant) l'utilisent comme indicateur -- la présence
d'un paramètre préfixe, quelle que soit sa valeur, force la commande à
agir différemment.
C-v et M-v constituent un autre type d'exception. Lorsqu'on leur
donne un paramètre, elles font défiler l'écran vers le haut ou vers le
bas du nombre de lignes indiqué au lieu de passer d'un écran complet à
l'autre. C-u 8 C-v, par exemple, fait défiler l'écran de 8 lignes.
>> Faites C-u 8 C-v.
Cela a dû déplacer l'écran de 8 lignes vers le haut. Si vous voulez
redescendre de 8 lignes, il suffit de passer ce nombre comme paramètre
de M-v.
Si vous utilisez un environnement graphique, comme X11 ou MS-Windows,
il devrait y avoir une zone rectangulaire appelée barre de défilement,
ou « scrollbar » sur le bord gauche de la fenêtre d'Emacs. Vous pouvez
faire défiler le texte en cliquant avec la souris dans cette barre de
défilement.
>> Cliquez avec le bouton du milieu en haut de la zone mise en
évidence dans la barre de défilement. Cela devrait déplacer le
texte jusqu'à une position dépendant de la hauteur où vous avez
cliqué.
>> Déplacez la souris de bas en haut tout en maintenant son bouton du
milieu pressé. 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
----------------------
Si Emacs cesse de répondre à vos commandes, vous pouvez le débloquer
en toute sécurité avec C-g. Cette commande fait stopper une commande
qui met trop de temps à s'exécuter.
C-g peut également servir à annuler un paramètre numérique, ou le
début d'une commande que vous ne souhaitez pas terminer.
>> Faites C-u 100 pour former un paramètre numérique de 100, puis
tapez C-g.
Faites maintenant C-f. Le déplacement ne sera que d'un caractère
car vous avez annulé le paramètre avec C-g.
Si vous avez tapé <ESC> par erreur, vous pouvez vous en débarrasser
avec un C-g.
* COMMANDES DÉSACTIVÉES
------------------------
Certaines commandes d'Emacs sont « désactivées » 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 était la commande et vous demande si vous souhaitez
continuer et l'exécuter.
Si vous souhaitez vraiment essayer la commande, tapez <Espace> en
réponse à la question. Si vous ne voulez pas exécuter la commande
désactivée, il suffit normalement de répondre « n ».
>> Faites C-x C-l (qui est une commande désactivée),
puis répondez n à la question.
* FENÊTRES
----------
Emacs peut avoir plusieurs fenêtres, chacune affichant son propre
texte. Nous expliquerons plus tard comment utiliser plusieurs fenêtres ;
pour l'instant, nous expliquerons comment se débarrasser des
fenêtres supplémentaires pour revenir à une édition mono-fenêtre.
C'est très simple :
C-x 1 Une seule fenêtre (i.e., supprime toutes les autres)
Il s'agit de CTRL-x suivi du chiffre 1. C-x 1 étend la fenêtre
contenant le curseur pour qu'elle occupe tout l'écran. Cette commande
supprime toutes les autres fenêtres.
>> Déplacez le curseur sur cette ligne et faites C-u 0 C-l.
>> Faites CONTROLE-h k CONTROLE-f.
Vous constatez que cette fenêtre est réduite alors qu'une nouvelle
apparaît pour afficher la documentation sur la commande CONTROLE-f.
>> Faites C-x 1 et la fenêtre de documentation disparaît.
Cette commande est différente de celles que nous avons déjà vues car
elle est formée de deux caractères. Elle commence par le caractère
CONTROLE-x, comme le font de nombreuses commandes de manipulation de
fenêtres, fichiers, tampons et autres entités associées. Ces commandes
font deux, trois ou quatre caractères.
* INSERTION ET SUPPRESSION
--------------------------
Si vous voulez insérer du texte, il vous suffit de le taper. Les
caractères que vous pouvez lire, comme A, 7, *, etc. sont considérés
comme du texte par Emacs et insérés immédiatement. Tapez <Entrée> (la
touche de retour chariot) pour insérer un caractère Newline.
Vous pouvez effacer le dernier caractère que vous avez tapé 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ère saisi. Il s'agit généralement de la grande touche située
quelques lignes au-dessus de la touche « Entrée ». Elle est
habituellement nommée « Delete », « Del », « Suppr » ou « Backspace ».
Si cette grande touche s'appelle « Backspace », c'est celle-là qui
représente <Delback>. Votre clavier peut également comporter une autre
touche, nommée « Delete », « Del » ou « Suppr », mais ce n'est pas
<Delback>.
Plus généralement, <Delback> efface le caractère situé immédiatement
avant la position courante du curseur.
>> Tapez quelques caractères puis effacez-les en faisant plusieurs
fois <Delback>. Ne vous inquiétez pas de modifier ce fichier ; vous
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'écran, elle se « continue » sur une deuxième ligne
d'écran. Une barre de fraction inverse (« \ ») ou, si vous utilisez un
environnement graphique, une petite flèche recourbée, sur la marge
droite indique une ligne qui se poursuit sur la ligne suivante.
>> Insérez du texte jusqu'à atteindre la marge droite et continuez
d'en insérer. Vous verrez apparaître une ligne de continuation.
>> Faites des <Delback> pour effacer le texte jusqu'à ce que la ligne
tienne à nouveau sur une seule ligne d'écran. La ligne de
continuation disparaît.
Vous pouvez effacer un caractère Newline comme n'importe quel autre
caractè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'écran, elle s'affichera avec une ligne de
continuation.
>> Placez le curseur au début d'une ligne et faites <Delback>.
Cela fusionne cette ligne avec la ligne précédente.
>> Faites <Entrée> pour remettre le Newline que vous avez supprimé.
Rappelez-vous que la plupart des commandes Emacs peuvent utiliser un
nombre de répétitions ; les caractères de texte font de même. La
répétition d'un caractère de texte l'insère plusieurs fois.
>> Faites C-u 8 * pour insérer ********.
Vous connaissez maintenant la méthode la plus simple pour taper du
texte dans Emacs et pour corriger les erreurs. Vous pouvez également
effacer des mots ou des lignes entières. Voici un résumé des
opérations de suppression :
<Delback> Efface le caractère situé avant le curseur
C-d Efface le caractère situé après le curseur
M-<Delback> Supprime le mot situé avant le curseur
M-d Supprime le mot situé après le curseur
C-k Supprime du curseur à la fin de la ligne
M-k Supprime jusqu'à la fin de la phrase courante
Vous noterez que <Delback> et C-d, par rapport à 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ère de contrôle, mais ne nous soucions pas de cela)
C-k et M-k sont un peu comme C-e et M-e.
Vous pouvez aussi supprimer n'importe quelle zone du tampon en
utilisant une méthode unique et générale. Placez-vous à une extrémité
de cette zone et tapez soit C-@, soit C-SPC (SPC désigne la barre
espace). Puis, allez à l'autre extrémité 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écédent.
>> Faites C-SPC. Emacs devrait afficher un message "Mark set"
en bas de l'écran.
>> Déplacez le curseur sur le x d'« extrémité », sur la seconde ligne
du paragraphe.
>> Faites C-w. Cela supprimera le texte allant du V jusqu'au
caractère situé juste avant le x.
La différence entre « effacer » et « supprimer » est que vous pouvez
réinsérer le texte « supprimé », alors que c'est impossible avec ce
qui a été « effacé ». La réinsertion d'un texte supprimé s'appelle le
« yanking ». Généralement, les commandes qui ôtent beaucoup de texte
le suppriment (afin que vous puissiez le récupérer), tandis que celles
qui ne font qu'ôter un seul caractère, des lignes blanches ou des
espaces, les effacent (vous ne pouvez donc pas récupérer ce texte).
>> 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
cette ligne.
Notez qu'un simple C-k supprime le contenu de la ligne et qu'un second
détruit la ligne elle-même, ce qui fait remonter toutes les lignes
suivantes. C-k traite son paramètre numérique d'une façon spéciale :
il détruit ce nombre de lignes ET leur contenu. Ce n'est pas une
simple répé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é à la place qu'il occupait ou à
n'importe quel autre emplacement du texte. Vous pouvez récupérer
plusieurs fois ce texte afin d'en créer plusieurs copies.
La commande de récupération est C-y. Elle réinsère le dernier texte
supprimé à la position courante du curseur.
>> Essayez : faites C-y pour récupérer le texte.
Si vous faites plusieurs C-k à la suite, tout le texte supprimé est
sauvegardé en même temps, de sorte qu'un seul C-y ramènera toutes les
lignes d'un seul coup.
>> Faites plusieurs fois C-k.
Maintenant, pour récupérer le texte détruit :
>> Faites C-y, puis descendez le curseur de quelques lignes et refaites
C-y. Vous savez maintenant comment copier du texte.
Que faire si vous avez du texte que vous voulez récupérer et,
qu'ensuite, vous supprimez autre chose ? C-y récupérerait la
suppression la plus récente mais le texte précédent n'est pas pour
autant perdu : vous pouvez le rappeler en utilisant la commande
M-y. Après avoir fait C-y pour récupérer la suppression la plus
récente, M-y remplacera ce texte récupéré par le texte supprimé
précédemment. En répétant les M-y, vous ramenez les suppressions de
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 à éditer votre texte et laissez le
texte récupéré où il est.
Si vous faites M-y suffisamment de fois, vous reviendrez à votre point
de départ (la suppression la plus récente).
>> Supprimez une ligne, déplacez vous et supprimez une autre ligne.
Puis, faites C-y pour récupérer cette dernière.
Faites alors M-y et elle sera remplacée par la première ligne détruite.
Faites d'autres M-y et notez ce que vous obtenez, continuez jusqu'à
ce que la seconde ligne supprimée réapparaisse, et faites-en encore
quelques-uns de plus.
Si vous le souhaitez, vous pouvez essayer de passer des paramètres
positifs et négatifs à M-y.
* ANNULATION
------------
Si vous modifiez le texte, puis que vous décidez que c'était une
erreur, vous pouvez annuler cette modification avec la commande C-x u
(comme Undo, défaire).
Normalement C-x u annule les modifications d'une seule commande ; si
vous répétez plusieurs fois C-x u dans une ligne, chaque répétition
annulera une commande supplémentaire.
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ères
auto-insérés sont habituellement gérés par groupes allant jusqu'à 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
réapparaître.
C-_ est une autre commande d'annulation ; elle fonctionne exactement
comme C-x u mais est plus facile à taper plusieurs fois dans une
ligne. Son inconvénient est qu'elle n'est pas facile à taper sur
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ètre numérique passé à C-_ ou C-x u agit comme un nombre de
répétitions.
* FICHIERS
----------
Afin de rendre permanent le texte que vous éditez, vous devez le
placer dans un fichier. Sinon, il disparaîtra en même temps que votre
session Emacs. Pour placer un texte dans un fichier, vous devez
« trouver » le fichier avant d'entrer le texte (c'est ce que l'on
désigne également par « visiter » 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 éditiez le
fichier lui-même. Cependant, les modifications que vous faites avec
Emacs ne deviendront permanentes qu'après avoir « sauvegardé » le
fichier : cela évite d'avoir un fichier à moitié modifié sur le
système alors que vous ne le vouliez pas. Même lorsque vous
sauvegardez, Emacs garde le fichier original sous un nom modifié au
cas où vous décideriez ensuite d'annuler vos modifications.
Si vous examinez le bas de l'écran, vous verrez une ligne qui commence
et finit par des tirets et débute par « -1:-- TUTORIAL.fr » ou quelque
chose comme ça. Cette partie de l'écran montre normalement le nom du
fichier que vous êtes en train de visiter. Pour l'instant, vous
visitez un fichier appelé « TUTORIAL.fr », qui est votre copie
personnelle du didacticiel Emacs. Lorsque vous trouvez un fichier avec
Emacs, son nom apparaît à cet endroit précis.
Une particularité de la commande permettant de trouver un fichier est
que vous devez donner le nom du fichier voulu. On dit que la commande
« lit un paramètre à partir du terminal » (ici, le paramètre est le
nom du fichier). Après avoir fait la commande
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ée en bas de l'écran : cette ligne
s'appelle le mini-tampon lorsqu'elle sert à ce type de saisie. Vous
pouvez utiliser les commandes d'édition habituelles d'Emacs pour
é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
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ée> pour
terminer la saisie. La commande C-x C-f effectue son travail et trouve
le fichier choisi. Le mini-tampon disparaît lorsque C-x C-f a terminé.
Au bout d'un court instant, le contenu du fichier apparaît à l'écran
et vous pouvez l'é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
première fois, Emacs renomme le fichier original afin qu'il ne soit
pas perdu. Le nom de cette sauvegarde est construit en ajoutant « ~ »
à la fin du nom initial.
Lorsque la sauvegarde est finie, Emacs affiche le nom du fichier
écrit. Sauvegardez à intervalles réguliers afin de perdre le moins
possible de travail au cas où votre système se planterait.
>> Faites C-x C-s pour sauvegarder votre copie du didacticiel.
Cela devrait écrire "Wrote ...TUTORIAL.fr" en bas de l'écran.
Vous pouvez trouver un fichier existant pour le visualiser ou
l'éditer. Vous pouvez également trouver un fichier qui n'existe pas
encore. C'est ainsi que l'on crée un fichier avec Emacs : on trouve le
fichier, qui démarre vide, puis on insère du texte. Lorsque l'on
demande à « sauvegarder » le fichier, Emacs crée alors vraiment le
fichier avec le texte que l'on a inséré. À partir de ce moment-là,
vous pouvez considérer que vous éditez un fichier déjà existant.
* TAMPONS
---------
Si vous trouvez un second fichier avec C-x C-f, le premier reste dans
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éez un fichier nommé « truc » en faisant C-x C-f truc <Entrée>.
Puis, insérez du texte, éditez-le et sauvegardez « truc » en
faisant C-x C-s.
Enfin, faites C-x C-f TUTORIAL.fr <Entrée> pour revenir au didacticiel.
Emacs stocke le texte de chaque fichier dans un objet appelé « tampon ».
Trouver un fichier crée un nouveau tampon dans Emacs. Pour voir la
liste des tampons existants dans votre session Emacs, faites
C-x C-b Liste des tampons
>> Faites C-x C-b
Vous noterez que chaque tampon a un nom et qu'il peut également avoir
un nom de fichier pour le fichier qu'il contient. TOUT texte que vous
pouvez voir dans une fenêtre Emacs fait toujours partie d'un tampon.
>> Faites C-x 1 pour faire disparaître la liste des tampons.
Lorsque vous avez plusieurs tampons, seul l'un d'entre eux est le
tampon "courant" à un instant donné : c'est celui que vous éditez. Si
vous souhaitez éditer un autre tampon, vous devez "basculer" vers
lui. Pour basculer vers un tampon correspondant à 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ée> pour revenir au tampon "truc", qui
contient le texte du fichier "truc".
Puis, faites C-x b TUTORIAL <Entrée> pour revenir à 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être Emacs fait toujours
partie d'un tampon, mais certains tampons ne correspondent pas à 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 à un fichier ; il contient la liste des
messages apparus dans la ligne d'état pendant votre session Emacs.
>> Faites C-x b *Messages* <Entrée> pour visualiser le tampon des
messages.
Puis, faites C-x b TUTORIAL <Entrée> pour revenir à ce didacticiel.
Si vous modifiez le texte d'un fichier, puis que vous chargez un autre
fichier, le premier ne sera pas sauvegardé. Ses modifications restent
dans Emacs, dans le tampon qui lui est associé. La création ou
l'édition du tampon du second fichier n'a aucun effet sur le tampon du
premier. C'est très pratique, mais cela signifie aussi que vous avez
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
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ées. Il
vous demande, pour chacun de ces tampons, s'il doit le sauvegarder ou
non.
>> Insérez une ligne de texte et faites C-x s.
Cela devrait vous demander si vous souhaitez sauvegarder le tampon
nommé TUTORIAL.fr. Répondez par l'affirmative en tapant « y ».
* EXTENSION DU JEU DE COMMANDES
-------------------------------
Il y a bien plus de commandes Emacs qu'il ne serait possible d'en
créer avec tous les caractères de contrôle et Meta. Emacs contourne ce
problème à l'aide de la commande X (eXtension). Celle-ci se présente
sous deux déclinaisons :
C-x eXtension caractère, suivie d'un seul caractère.
M-x eXtension d'une commande nommée, suivie d'un nom long.
Ces commandes sont généralement des commandes utiles, mais elles sont
moins souvent utilisées que celles que vous avez déjà apprises. Vous
en avez déjà rencontré 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 à la session Emacs : C-x C-c (ne vous
inquiétez pour les modifications que vous avez faites, C-x C-c vous
proposera de sauvegarder tous les fichiers modifiés avant de quitter
Emacs).
C-z est la commande permettant de quitter *temporairement* Emacs --
afin de pouvoir revenir à la même session plus tard.
Sur les systèmes qui le permettent, C-z « suspend » Emacs ;
c'est-à-dire qu'il revient au shell mais ne détruit pas Emacs. Avec
les shells les plus courants, vous pouvez revenir à Emacs en faisant
la commande 'fg' ou '%emacs'.
Sur les systèmes qui n'implémentent pas ce mécanisme, C-z crée un
sous-shell qui s'exécute sous Emacs afin que vous puissiez lancer
d'autres programmes et revenir à Emacs ensuite : vous ne « sortez »
pas vraiment d'Emacs. Dans ce cas, la commande shell 'exit' est le
moyen habituel pour revenir à Emacs à partir de ce sous-shell.
Le moment idéal pour utiliser C-x C-c est lorsque l'on se
déconnecte. C'est aussi la commande adaptée pour sortir d'un Emacs
invoqué par un programme de courrier ou tout autre utilitaire car
ceux-ci peuvent ne pas savoir comment gérer la suspension d'Emacs. Dans
des situations normales, si vous ne devez pas vous déconnecter, il est
préfé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êtres, sauf une.
C-x u Annulation.
Les eXtensions de commandes nommées sont des commandes utilisé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îne par une autre. Lorsque vous faites
M-x, Emacs affiche M-x en bas de l'écran et vous demande de taper le
nom de la commande, « replace-string » ici. Contentez-vous de faire
«repl s<TAB> » et Emacs complétera le nom (<TAB> représente la touche
de tabulation, qui se trouve habituellement au-dessus de la touche de
verrouillage des majuscules, à gauche du clavier). Terminez la
commande en pressant <Entrée>.
La commande replace-string nécessite deux paramètres -- la chaîne à
remplacer et la chaîne de remplacement. Vous devez terminer chaque
paramètre par <Entrée>.
>> Déplacez le curseur sur la ligne blanche deux lignes plus bas.
Puis, faites M-x repl s<Entrée>changée<Entrée>modifiée<Entrée>.
Notez comment cette ligne a été changée : vous avez remplacé le mot
c-h-a-n-g-é-e par « modifiée » à chaque fois qu'il apparaissait après
la position initiale du curseur.
* SAUVEGARDE AUTOMATIQUE
------------------------
Lorsque vous avez modifié un fichier, mais que vous ne l'avez pas
encore sauvegardé, ces modifications pourraient être perdues si votre
système se plantait. Pour vous protéger de ce problème, Emacs écrit
périodiquement un fichier de « sauvegarde automatique » pour chaque
fichier en cours d'édition. Le nom de ce fichier commence et se
termine par un # : si, par exemple, votre fichier s'appelle
« hello.c », son fichier de sauvegarde automatique s'appellera
« #hello.c# ». Lorsque vous sauvegardez le fichier de la façon
habituelle, Emacs détruit son fichier de sauvegarde automatique.
Si l'ordinateur se plante, vous pouvez récupérer ce qui a été
sauvegardé automatiquement en ouvrant normalement le fichier (celui
que vous éditiez, pas la sauvegarde automatique), puis en faisant
M-x recover file<Entrée>. Lorsqu'Emacs vous demande de confirmer,
tapez yes<Entrée> pour continuer et récupérer ainsi les données
sauvées par la sauvegarde automatique.
* ZONE D'ECHO
-------------
Si Emacs constate que vous tapez les commandes multi-caractères
lentement, il les affiche en bas de l'écran dans une zone nommée «
zone d'écho ». La zone d'écho contient la dernière ligne de l'écran.
* LIGNE DE MODE
---------------
La ligne placée immédiatement au dessus de la zone d'écho s'appelle la
« ligne de mode ». Elle affiche quelque chose comme ça :
-1:** TUTORIAL.fr (Fundamental)--L752--67%----------------
Cette ligne donne des informations sur l'état d'Emacs et sur le texte
que vous êtes en train d'éditer.
Vous savez déjà ce que signifie le nom de fichier -- c'est celui que
vous avez chargé. -NN%-- indique votre position actuelle dans le
texte ; cela signifie que NN pour cent du texte se trouve au dessus du
sommet de l'écran. Si le début du fichier est sur l'écran, il
s'affichera --Top-- et non --00%--. Si le bas du texte est sur
l'écran, il s'affichera --Bot--. Si tout le texte tient dans l'écran,
il s'affichera --All--.
Le L et les chiffres qui le suivent indiquent une position d'une façon
différente : ils indiquent le numéro de la ligne courante du point.
Les astérisques au début signifient que vous avez modifié le
texte. Lorsque vous venez de visiter ou sauvegarder un fichier, cette
partie de la ligne de mode n'affichera pas d'astérisques mais
simplement des tirets.
La partie de la ligne de mode située entre parenthèses indique les
modes d'édition dans lesquels vous vous trouvez. Le mode par défaut
est « Fundamental » et c'est celui que vous êtes en train
d'utiliser. C'est un exemple de « mode majeur ».
Emacs possède de nombreux modes majeurs différents. Certains sont
prévus pour éditer différents langages et/ou types de texte (mode
Lisp, mode Text, etc). À tout instant, il n'y a qu'un seul mode majeur
actif et son nom se trouve toujours dans la ligne de mode, à l'endroit
où « Fundamental » se trouve actuellement.
Chaque mode majeur modifie le comportement de quelques commandes. Il
existe, par exemple, des commandes pour créer des commentaires dans un
programme et, comme chaque langage de programmation a sa propre
syntaxe pour les commentaires, chaque mode majeur doit insérer ceux-ci
de façon différente. Un mode majeur est le nom d'une commande é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 éditer du texte en langage naturel, comme ce fichier,
vous utiliserez probablement le mode Text.
>> Faites M-x text mode<Entrée>.
Ne vous inquié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éraient comme des
séparateurs de mots.
Les modes majeurs font généralement des modifications subtiles comme
celle-ci : la plupart des commandes font « la même chose » dans tous
les modes majeurs, mais fonctionnent un peu diffé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ès du haut de l'écran.
>> Faites C-h m pour voir comment le mode Text diffère du mode Fundamental.
>> Faites C-x 1 pour supprimer la documentation de l'écran.
Les modes majeurs sont appelé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
être activé ou désactivé indé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ès utile, surtout lorsque l'on édite du langage
naturel, est le mode Auto Fill. Lorsqu'il est activé, Emacs coupe
automatiquement la ligne entre les mots lorsque vous insérez du texte
et que la ligne est trop longue.
Vous pouvez activer le mode Auto Fill en faisant M-x auto fill
mode<Entrée>. Lorsqu'il est activé, vous pouvez le désactiver en
faisant à nouveau M-x auto fill mode<Entrée>. Si le mode est
désactivé, cette commande l'active et, s'il est activé, elle le
désactive : on dit que la commande « fait basculer le mode ».
>> Faites M-x auto fill mode<Entrée> puis insérez une ligne de
plusieurs « azer » jusqu'à 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.
La marge est habituellement fixée à 70 caractè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ètre numérique.
>> Faites C-x f avec un paramè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ères. Remettez la marge à 70 en refaisant C-x f.
Si vous faites des modifications au milieu d'un paragraphe, le mode
Auto Fill ne reformatera pas ce paragraphe.
Pour cela, faites M-q (META-q) lorsque le curseur est placé dans ce
paragraphe.
>> Placez le curseur dans le paragraphe précédent et faites M-q.
* RECHERCHE
-----------
Emacs peut rechercher des chaînes de caractères (ce sont des groupes
de caractères contigus ou mots) soit vers l'avant, soit vers
l'arrière. La recherche d'une chaîne est une commande de déplacement
du curseur : elle déplace le curseur à l'emplacement où la chaîne
apparaît.
La commande de recherche d'Emacs est différente de celle que l'on
trouve sur la plupart des éditeurs car elle est « incrémentale ». Cela
signifie que la recherche a lieu pendant que l'on tape la chaî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ère. MAIS ATTENDEZ !
N'essayez pas encore.
Lorsque vous faites C-s la chaîne « I-search » apparaît comme invite
dans la zone d'écho. Cela vous indique qu'Emacs est dans ce que l'on
appelle une recherche incrémentale et qu'il attend que vous tapiez ce
que vous recherchez. <Entrée> termine une recherche.
>> Faites C-s pour lancer une recherche. LENTEMENT, une lettre à la
fois, tapez le mot « curseur », en attendant entre chaque caractère
pour constater ce que fait le curseur. Vous avez maintenant atteint
« curseur » une première fois.
>> Tapez C-s à nouveau pour trouver l'occurrence suivante de « curseur ».
>> Faites maintenant <Delback> quatre fois et étudiez les mouvements du
curseur.
>> Faites <Entrée> pour mettre fin à la recherche.
Avez-vous vu ce qui se passait ? Emacs, dans une recherche
incrémentale, essaie d'aller sur l'occurrence de la chaîne que vous
avec tapée jusqu'à cet instant. Pour aller sur l'occurrence suivante de
« curseur », il suffit de refaire C-s : s'il ne trouve rien, Emacs
bippe et vous indique que la recherche a échoué. C-g permet également
de mettre fin à la recherche.
REMARQUE : Sur certains systèmes, C-s gèlera l'écran et vous ne verrez
plus rien se produire dans Emacs. Cela indique qu'une
« fonctionnalité » du système d'exploitation, appelée « contrôle de
flux », a intercepté le C-s et ne lui permet pas de parvenir à
Emacs. Pour décoincer l'écran, faites C-q puis consultez la section
« Spontaneous Entry to Incremental Search » dans le manuel d'Emacs
pour avoir des avis sur la gestion de cette « fonctionnalité ».
Si vous vous trouvez au milieu d'une recherche incrémentale et que
vous tapez <Delback>, vous remarquerez que cela supprime le dernier
caractère de la chaîne recherchée et que la recherche reprend à
l'endroit où elle se trouvait précédemment. Supposons, par exemple,
que vous ayiez tapé « c » pour trouver la première occurrence de
« c ». Si vous tapez maintenant « u », le curseur ira sur la première
occurrence de « cu ». Faites <Delback> : cela supprime le « u » de la
chaîne de recherche et le curseur revient à la première occurrence de
« c ».
Si vous êtes au milieu d'une recherche et que vous tapez un caractère
de contrôle ou un meta-caractère (sauf quelques exceptions -- les
caractères considérés comme spéciaux pour les recherches, tels que C-s
et C-r), cela met fin à la recherche.
C-s lance une recherche de toutes les occurrences de la chaîne APRÈS la
position courante du curseur. Si vous voulez faire une recherche plus
haut dans le texte, faites plutôt C-r. Tout ce que nous avons dit sur
C-s s'applique également à C-r, sauf que la direction de la recherche
est inversée.
* FENÊTRES MULTIPLES
--------------------
L'une des caractéristiques les plus agréables d'Emacs est que vous
pouvez afficher plusieurs fenêtres en même temps à l'écran.
>> Placez le curseur sur cette ligne et faites C-u 0 C-l (CTRL-L, pas
CTRL-1).
>> Faites maintenant C-x 2 pour diviser l'écran en deux
fenê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être du bas
(Si vous n'avez pas de touche Meta, faites <ESC>C-V).
>> Tapez C-x o (« o » pour « other ») afin de placer le curseur dans
la fenêtre du bas.
>> Utilisez C-v et M-v pour la faire défiler.
Conservez ces instructions dans la fenêtre du haut.
>> Faites à nouveau C-x o pour replacer le curseur dans la fenêtre du
haut. Le curseur est exactement où il était avant.
Vous pouvez continuer à utiliser C-x o pour passer d'une fenêtre à
l'autre. Chaque fenêtre a sa propre position du curseur, mais une
seule le montre vraiment. Toutes les commandes d'édition habituelles
s'appliquent à la fenêtre dans laquelle se trouve le curseur : on
l'appelle la « fenêtre sélectionnée ».
La commande C-M-v est très utile lorsque l'on édite du texte dans une
fenêtre et que l'on utilise l'autre uniquement comme référence. Vous
pouvez conserver le curseur dans la fenêtre où vous éditez et
parcourir l'autre fenêtre avec C-M-v.
C-M-v est un exemple de caractère CONTROLE-META. Si vous disposez
d'une touche META, vous pouvez faire C-M-v en pressant à la fois
CONTROLE et META tout en tapant v. Peu importe qui, de CONTROLE ou
META est pressée en premier car ces deux touches agissent en modifiant
les caractères que vous tapez.
Si vous n'avez pas de touche META et que vous utilisez <ESC> à 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ère en
lui-même, ce n'est pas un modificateur de touches.
>> Faites C-x 1 (dans la fenêtre du haut) pour supprimer la fenêtre du
bas.
(Si vous aviez fait C-x 1 dans la fenêtre du bas, vous auriez supprimé
celle du haut. Pensez à cette commande comme signifiant « ne garde
qu'une fenêtre, celle dans laquelle je suis »).
Vous n'êtes pas obligé d'afficher le même tampon dans les deux
fenêtres. Si vous faites C-x C-f pour trouver un fichier dans une
fenêtre, l'autre n'est pas modifiée. Chaque fenêtre peut contenir un
fichier indépendamment de l'autre.
Voici une autre façon d'utiliser deux fenêtres pour afficher deux
choses différentes :
>> Faites C-x 4 C-f suivi du nom d'un de vos fichiers puis faites
<Entrée>. Le fichier indiqué apparaît dans la fenêtre du bas et le
curseur s'y rend également.
>> Faites C-x o pour revenir à la fenêtre du haut, puis C-x 1 pour
supprimer celle du bas.
* NIVEAUX D'ÉDITION RÉCURSIVE
-----------------------------
Parfois, vous vous trouverez dans ce qui s'appelle un « niveau
d'édition récursive ». Cela est indiqué par des crochets dans la ligne
de mode, entourant les parenthèses situées autour du nom du mode
majeur. Vous verrez, par exemple [(Fundamental)] au lieu de (Fundamental).
Pour sortir du niveau d'édition récursive, faites ESC ESC ESC. C'est
une commande de sortie à tout faire. Vous pouvez également l'utiliser
pour supprimer les fenêtres supplé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'édition
récursive car cette commande sert à annuler des commandes et des
paramètres DANS le niveau d'édition récursive.
* OBTENIR DE L'AIDE SUPPLÉMENTAIRE
----------------------------------
Nous avons essayé, dans ce didacticiel, de ne fournir que les
informations suffisantes pour commencer à utiliser Emacs. Il y a tant
de possibilités avec Emacs qu'il serait impossible de tout expliquer
ici. Cependant, vous pouvez vouloir en apprendre plus, car il a bien
d'autres fonctionnalités utiles. Emacs dispose de commandes pour lire
la documentation sur ses commandes. Ces commandes d'« aide »
commencent toutes par le caractère C-h, le « caractère d'aide ».
Pour utiliser l'aide, tapez C-h suivi d'un caractère indiquant le type
d'aide que vous souhaitez. Si vous êtes VRAIMENT perdu, faites C-h ?
et Emacs vous indiquera les types d'aide qu'il peut fournir. Si vous
avez tapé C-h et que vous vous ravisez, il vous suffit de faire C-g
pour annuler.
Certains sites changent la signification du caractère C-h. Ils ne
devraient pas le faire à la légère pour tous les utilisateurs et vous
êtes donc en droit de vous plaindre auprès de l'administrateur
système. Cependant, si C-h n'affiche pas de message d'aide en bas de
l'écran, essayez à la place la touche F1 ou M-x help <Entrée>.
La commande d'aide la plus simple est C-h c. Faites C-h, le caractère
c, puis un caractère ou une séquence de commande : Emacs affichera une
description très courte de cette commande.
>> Faites C-h c C-p.
Le message devrait être quelque chose comme :
C-p runs the command previous-line
Cela vous donne le « nom de la fonction ». Les noms de fonction
servent principalement à la personnalisation et à l'extension d'Emacs,
mais comme ils sont choisis de façon à indiquer ce que fait la
commande, ils servent également de documentation rapide -- c'est
suffisant pour vous rappeler les commandes que vous avez déjà
apprises.
Les commandes multi-caractères, comme C-x C-s et (si vous n'avez ni
touche META, ni touche EDIT, ni touche ALT) <ESC>v sont également
possibles aprè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être Emacs. Lorsque vous avez fini de lire, faites C-x 1 pour
supprimer le texte de l'aide. Vous n'êtes pas obligé de le faire tout
de suite ; vous pouvez continuer à travailler tout en vous référant à
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ée>.
Cela affiche toutes les informations dont dispose Emacs sur la
fonction qui implémente la commande C-p.
C-h a Commande Apropos. Tapez un mot-clé et Emacs affichera
toutes les commandes dont les noms contiennent ce
mot-clé. Ces commandes peuvent toutes être invoquées
avec M-x. Pour certaines, la commande Apropos
affichera également une séquence d'un ou deux
caractères exécutant la même commande.
>> Faites C-h a file<Entrée>.
Cela affiche dans une autre fenêtre une liste de toutes les commandes
M-x ayant « file » dans leurs noms. Vous verrez des commandes
caractères, comme C-x C-f, apparaître à côté des noms de commandes qui
leur correspondent, comme find-file.
>> Faites C-M-v pour faire défiler la fenêtre d'aide. Faites-le
plusieurs fois.
>> Faites C-x 1 pour supprimer la fenêtre d'aide.
C-h i Manuels en ligne (alias Info). Cette commande vous place dans
un tampon spéciale, appelé « *info* », où vous pouvez
lire les manuels en ligne des paquetages installés sur
votre système. Faites m emacs <Entrée> pour lire le
manuel d'Emacs. Si vous n'avez jamais utilisé Info
auparavant, tapez ? et Emacs vous fera faire une visite
guidée des fonctionnalités du mode Info. Lorsque vous
en aurez fini avec ce didacticiel, le manuel Info
d'Emacs devrait être votre source de documentation
essentielle.
* FONCTIONNALITÉS SUPPLÉMENTAIRES
---------------------------------
Vous pouvez en apprendre plus en lisant le manuel d'Emacs, qu'il soit
imprimé ou en ligne avec le système Info (utilisez le menu Help, ou
faites F10 h r). Les deux fonctionnalités que vous apprécierez
particulièrement sont la complétion, qui permet d'économiser la
frappe, et dired, qui simplifie la manipulation des fichiers.
La complétion permet d'éviter les frappes inutiles. Si, par exemple,
vous voulez basculer vers le tampon *Messages*, tapez simplement
C-x b *M<Tab> et Emacs complètera le nom du tampon s'il peut le
déterminer à partir de ce que vous avez saisi avant la tabulation. La
complétion est décrite dans la version Info du manuel Emacs, à la
rubrique "Completion".
Dired vous permet de consulter la liste des fichiers d'un répertoire
(et, éventuellement, de ses sous-répertoires), de vous déplacer dans
cette liste, d'ouvrir, de renommer, de supprimer et, de façon
générale, de manipuler ces fichiers. Dired est décrit dans la version
Info du manuel Emacs, à la rubrique "Dired".
Le manuel décrit également les nombreuses autres fonctionnalités
d'Emacs.
* CONCLUSION
------------
Rappelez-vous, pour quitter définitivement Emacs, faites C-x C-c. Pour
lancer temporairement un shell et pouvoir ensuite revenir à Emacs,
faites C-z.
Ce didacticiel est destiné à être compréhensible par tous les nouveaux
utilisateurs. Si vous avez trouvé que quelque chose n'était pas clair,
ne restez pas les bras croisés à vous accuser de tous les maux --
plaignez-vous !
* COPIE
---------
Ce didacticiel descend d'une longue lignée de didacticiels Emacs,
débutée par celui qui fut écrit par Stuart Cracraft pour le premier
Emacs.
Cette version du didacticiel, comme GNU Emacs, est placée sous
copyright, et vous pouvez en distribuer des copies sous certaines
conditions :
Copyright (C) 1985, 1996, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
Chacun peut créer ou distribuer des copies de ce document tel qu'il
l'a reçu, sur n'importe quel support, pourvu que la note de
copyright et cette note de permission soient préservées et que le
distributeur garantisse au destinataire la permission d'une
redistribution ultérieure telle qu'elle est permise par cette note.
Vous pouvez distribuer des versions modifiées de ce document, ou
de parties modifiées de celui-ci sous les conditions citées plus haut,
pourvu qu'il soit clairement indiqué qui les a modifié pour la
derniè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 à vos amis. Participez à l'éradication de
l'obstructionnisme du logiciel (sa « propriétarisation ») en
utilisant, écrivant et partagent des logiciels libres !
Cette traduction française a été effectuée par Éric Jacoboni
<jaco@teaser.fr>.
--- end of TUTORIAL.fr ---
;;; Local Variables:
;;; coding: latin-1
;;; sentence-end-double-space: nil
;;; End:
|