This file is indexed.

/usr/share/doc/HOWTO/fr-html/Emacs-Beginner-HOWTO.html is in doc-linux-fr-html 2013.01-3ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Linux version 5.2.0">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.72">
<title>HOWTO Débuter sous Emacs</title>
</head>
<body>
<h1>HOWTO Débuter sous Emacs</h1>
<h2>Jeremy D. Zawodny, <a href=
"mailto:jzawodn@wcnet.org">jzawodn@wcnet.org</a></h2>
v1.7, 14 Octobre 1999
<hr>
<em>Ce document est une aide aux débutants sous l'éditeur Emacs. Il
prend pour acquis la manipulation de <code>vi</code> ou d'un
éditeur similaire. La dernière version de ce document est aussi
disponible sur <a href=
"http://www.wcnet.org/jzawodn/emacs/">http://www.wcnet.org/jzawodn/emacs/</a></em>
<hr>
<h2><a name="introduction"></a> <a name="s1">1.
Introduction</a></h2>
<h2><a name="ss1.1">1.1 Copyright</a></h2>
<p>Copyright © 1998 - 1999 Jeremy D. Zawodny. La licence
d'exploitation du document est sous licence générale GNU publique.
Une version en ligne est disponible ici: <a href=
"http://www.gnu.org/copyleft/gpl.html">http://www.gnu.org/copyleft/gpl.html</a></p>
<h2><a name="ss1.2">1.2 Public et Dessein</a></h2>
<p>Ce document est destiné aux utilisateurs de Linux intéressés
d'apprendre à utiliser Emacs et à le mettre en oeuvre. Ce document
commença comme l'illustration d'un bref tutorial que j'ai été donné
de présenter aux rencontres des utilisateurs de Linux de Tolède
<a href="http://www.talug.org/">http://www.talug.org/</a>. Il a
quelque peu grossi depuis, suite aux retours que j'ai eu grâce aux
membres de la communauté. Voyez la section remerciement pour les
détails.</p>
<p>Dans ce document, rien n'est spécifique à Linux. Il s'applique à
toutes les versions d'Emacs, même celle fonctionnant sous Microsoft
Windows. Mais étant donné que ce document fait parti du projet de
documentation Linux, je précise le fait qu'il a été développé pour
les utilisateurs de Linux, car c'est pour eux qu'il a été
écrit.</p>
<p>Enfin, pour ceux d'entre vous qui préfère le nom GNU/Linux au
simple Linux, (allez lire <a href=
"http://www.gnu.org/gnu/linux-and-gnu.html">http://www.gnu.org/gnu/linux-and-gnu.html</a>
pour voir de quoi il retourne) vous êtes les bienvenus à substituer
mentalement GNU/Linux pour toutes les occurences de Linux dans ce
document. Bien que je ne désaprouve pas le raisonnement et l'esprit
contenu derrière cette idée, je ne me sens pas forcé d'écrire
GNU/Linux.</p>
<h2><a name="ss1.3">1.3 Qu'est ce qu'Emacs?</a></h2>
<p>Emacs possède différentes utilitées suivant les personnes qui
l'utilisent. Suivant la personne à qui vous posez la question, vous
pourrez obtenir l'une des réponses suivantes:</p>
<ul>
<li>Un éditeur de texte</li>
<li>Un client de Messagerie</li>
<li>Un lecteur de News</li>
<li>Un traitement de texte</li>
<li>Une religion / un sacerdoce</li>
<li>Un environnement de développement intégré</li>
<li>Tout ce que vous voulez qu'il soit!</li>
</ul>
<p>Mais pour notre démonstration, prétendons seulement qu'il s'agit
d'un éditeur de texte, un éditeur de texte étonnamment flexible.
Nous approfondirons la question un peu plus tard. Emacs a été écrit
par Richard Stallman (fondateur de la Free Software Fondation :
<a href="http://www.fsf.org/">http://www.fsf.org/</a> et du projet
GNU <a href="http://www.gnu.org/">http://www.gnu.org/</a>) et qui
le maintient encore aujourd'hui.</p>
<p>Emacs est l'un des outils d'éditions de textes les plus
populaires utilisés sur Linux (et Unix). C'est le second en
popularité après <b>vi</b>. Il est aussi connu pour ses
incommensurables possibilitées, sa capacité à être customizé, et
son manque de bug (son absence de bug)! Ses larges possibilitées et
sa capacité à être réellement configuré sont le résultat de la
conception et de l'implémentation d'Emacs. Sans aller dans les
détails, nous dirons qu'Emacs n'est simplement pas <b>juste un
éditeur</b>. C'est un éditeur écrit principalement en <b>Lisp</b>.
Dans le noyau d'Emacs il y a un interpréteur contenant toutes les
subtilitées de Lisp écris en C. Seulement les parties les plus
basiques et les pièces de bas-niveau d'Emacs sont écrites en C. La
majorité de l'éditeur est en réalité écrit en Lisp. Donc, dans un
sens, Emacs possède un langage de programmation entier incorporé,
que vous pouvez utilisez pour customizer, pour étendre, et pour
changer son comportement.</p>
<p>Emacs est aussi l'un des plus vieux éditeurs. Le fait est qu'il
a été utilisé par des milliers de programmeurs durant les 20
dernières années signifie qu'il existe énormément de modules
externes. Ces modules vous permettent de faire avec Emacs ce que
Stallman n'a probablement jamais révé être possible de faire
lorsqu'il a commencé à travailler sur Emacs. Nous parlerons de cela
dans une prochaine section.</p>
<p>Il y a beaucoup d'autre sites Web et de documents qui donnent un
meilleur apercu d'Emacs, de son histoire, et des sujets associés.
Plutot que de tenter de reproduire tout cela ici, je suggère que
vous voyez par vous même quelques endroits listés dans la section
<a href="#Autres_ressources">Autres Ressources</a> de ce
document.</p>
<h3>Portages et Versions</h3>
<p>Cela vaut la peine de d'indiquer qu'il existe aujourd'hui deux
éditeurs différents: GNU Emacs, et XEmacs. Les deux proviennent du
même héritage et partageant quasiment les mêmes caractéristiques.
Ce document se base sur GNU Emacs(plus précisement la version 20.3)
mais la plupart de ce qui sera dit ici s'applique aussi à XEmacs et
aux versions précedentes de GNU Emacs. Au cours de ce document, je
ferais simplement référence à Emacs. Lorsque je le ferais, pensez à
ce que je viens de vous dire.</p>
<h3>Obtenir Emacs</h3>
<p>Obtenir Emacs est simple. Si vous utilisez une distribution de
Linux assez populaire, comme la debian, la RedHat ou la Slackware,
ou n'importe quelles autres (NdT: comme la Mandrake), Emacs est un
package optionnel que vous pouvez installer à partir du médium de
distribution (NdT: CD-Rom, Disquette, réseau). Sinon, vous pouvez
toujours obtenir les codes sources d'Emacs et les compiler vous
mêmes. Allez sur le site web de GNU pour l'endroit précis où
récupérer Emacs: <a href=
"http://www.gnu.org/software/emacs/emacs.html">http://www.gnu.org/software/emacs/emacs.html</a></p>
<h2><a name="exec_emacs"></a> <a name="s2">2. Exécuter
Emacs</a></h2>
<h2><a name="ss2.1">2.1 Lancer &amp; quitter Emacs</a></h2>
<p>En tant que nouvel utilisateur, vous allez probablement vouloir
lancer Emacs pour vous amuser un peu et l'essayer. Une fois dans
Emacs, l'une des première choses à savoir, c'est: comment sortir,
vous ne serez peut-être pas capable de savoir le faire. Donc, si
vous n'avez jamais utilisé Emacs avant, lancer vous maintenant. Sur
le prompt du shell, tapez <code>emacs</code> et appuyez sur entrée.
Emacs devrais se lancer. Sinon c'est qu'il n'est soit pas installé,
soit absent de votre chemin(PATH).</p>
<p>Une fois que vous voyez Emacs, vous devez savoir comment sortir.
Les commandes pour quitter Emacs sont <code>C-x C-c</code>. La
notation <code>C-x</code> signifie que vous devez appuyez sur la
touche<code>Ctrl</code> et sur la touche<code>x</code>, en même
temps. Dans ce cas ci, vous devrez ensuite appuyez sur les touches
<code>Ctrl</code> et <code>c</code> toujours en même temps, pour
quitter Emacs.</p>
<p>Les commandes au clavier utilisées par Emacs semblent être
vraiment étranges, bizarre, et peut être même inconfortable pour
vous de prime abord, spécialement si vous étes un utilisateur de
<code>vi</code>. A la différence de <code>vi</code>, Emacs n'a pas
de mode séparé pour éditer le texte, et executer des commandes.</p>
<p>Pour récapituler: <code>emacs</code> lance Emacs. <code>C-x
C-c</code> termine Emacs.</p>
<h3>Ce que vous allez voir</h3>
<p>Quand Emacs se lance il prend la place entière de l'écran(en
mode texte), ou bien d'une fenêtre. Vous verez alors un menu en
haut, un peu de texte au milieu, et 2 lignes en bas de l'écran.</p>
<p>Cela ressemblera à cette ébauche en ASCII:</p>
<pre>
+----------------------------------------------------------------------+
|Buffers Files Tools Edit Search Mule Help                             |
|                                                                      |
|Welcome to GNU Emacs, one component of a Linux-based GNU system.      |
|                                                                      |
|                                                                      |
|                                                                      |
| ...                                                                  |
|                                                                      |
|---1:---F1  *scratch*         (Lisp Interaction)--L1--All-------------|
|For information about the GNU Project and its goals, type C-h C-p.    |
+----------------------------------------------------------------------+
</pre>
<p><b>NOTE:</b> Emacs utilisera normalement la totalité de
l'écran/fenêtre. J'ai réduit l'exemple ci-dessus dans un soucis de
place. Vous aurez aussi un message de bienvenue dans Emacs lorsque
vous le lancerez pour la première fois. Je l'ai aussi omis et l'ai
remplacé par ``<code>...</code>`` à la place. Le message de
bienvenue donne simplement la version courante d'Emacs que vous
utilisez, ainsi que des liens vers la documentation en-ligne et des
articles s'y rapportant.</p>
<h3>La Barre de menu</h3>
<p>La ligne la plus en haut de l'interface d'Emacs est un menu. Si
vous étes sous X, vous la reconnaitrez comme étant un menu
traditionnel que vous pouvez utilisez en vous servant de votre
pointeur. Sinon , vous devrez utiliser les raccourcis claviers(non
expliqués ici) pour acceder aux menus.</p>
<h3>La Barre de status &amp; et le Mini-buffer</h3>
<p>Sur les deux dernières lignes de l'interface d'Emacs, la plus
haute et principalement une barre de status. Elle contient des
informations a propos du buffer sur lequel vous travaillez, dans
quel mode Emacs se trouve, et d'autres informations variées sur
d'autres choses. Pour l'instant, regardez juste ce qu'elle
contient.</p>
<p>La plus basse des lignes est appelé <b>mini-buffer</b>. Elle est
séparée du buffer principal par la barre de status dont nous venons
juste de parler. Vous pouvez penser que le mini-buffer d'Emacs est
une ligne de ``commande``. C'est ici que les commandes que vous
donnez à Emacs apparaissent, et c'est aussi ici que les messages
d'états sont imprimés en réponses aux actions que vous
effectuez.</p>
<p>Vous trouverez que ce que je nomme la barre de status est
courament nommé <code>mode line</code> dans la documentation
d'Emacs. C'est ici qu'Emacs affiche les informations à propos des
modes courants que vous utilisez, ainsi que des choses tels que
l'heure et la date courantes, le numero de ligne, la taille du
fichier, ainsi que tous ce que vous voudriez y voir afficher.</p>
<h2><a name="ss2.2">2.2 Quelques Terminologies</a></h2>
<p>Cette section couvre les terminologies les plus simple d'Emacs
que vous pourrez rencontrer quand lors de l'utilisation et des
lectures à propos d'Emacs.</p>
<h3>Tampons &amp; Fichiers</h3>
<p>A la différence d'autres éditeurs, quand vous ouvrez un fichier
dans Emacs il ne reste pas ouvert tout le temps que vous travaillez
dessus. A la place, Emacs lit celui-ci et le place dans un
<b>tampon</b> en mémoire. Tant que vous éditerez le tampon et
travaillerez avec les données rien ne sera changé sur le disque.
Simplement, lorsque vous sauvegarderez le tampon que le fichier sur
le disque sera modifié. Cette méthode possède des avantages et des
inconvénients mais cela est important que vous compreniez qu'il
fonctionne de cette manière.</p>
<p>Comme conséquence, vous verez le terme ``buffer`` (NdT : Tampon)
utilisé dans la documentation Emacs , dans les differents modes,
dans les packages, etc... Il faut juste réaliser que buffer
signifie ``une copie du fichier qui se situe en mémoire``. Il faut
aussi signaler que le buffer ne pointe pas toujours sur un fichier
spécifique. Souvent Emacs crée des buffers comme résultat d'une
commande que vous avez éxécuté, une liste de choix à effectuer, et
ainsi de suite.</p>
<h3>Points &amp; Regions</h3>
<p>Dans la terminologie d'Emacs, vous entendrez ou lirez souvent
des références au sujet des <b>points</b>. En des termes simple le
point signifie le curseur. La différence entre point et curseur
n'est pas importante lorsque vous commencer avec Emacs. Mais si
vous etes curieux, pensez-y de cette manière: le curseur est la
réprésentation visuelle du point. Le curseur est toujours sur une
position d'un caractère précis du buffer courant. Le point, d'un
autre coté, évolue dans l'espace <em>entre les caractères</em> du
buffer. Donc vous pouvez dire que si le curseur est sur la lettre
`e` dans le mot ``les`` alors le point est entre le `l` et le
`s`.</p>
<p>Comme la plupart des éditeurs modernes, Emacs permet d'éffectuer
des opérations sur une section du buffer courant (identation,
correction orthographique, reformatage, couper, coller, copier,
...). Vous pouvez marquer un bloc de texte en utilisant le clavier
ou la souris et effectuer alors des opérations uniquement sur la
zone séléctionnée. Dans Emacs, ces blocs des textes sont nommés
<b>régions</b>.</p>
<h3>Fenêtres</h3>
<p>Cela sera peut-être un peu confus pour n'importe qui ayant
utilisé une interface graphique avant. Il faut juste se rappeler
qu'Emacs a été développé longtemps avant que les interfaces
graphiques et les gestionnaires de fenêtres soit populaires.</p>
<p>Une <b>fenêtre</b> dans Emacs est une zone de l'écran dans
laquelle un buffer est affiché. Quand Emacs est lancé, vous avez
seulement une fenêtre affichée. Quelques fonctions d'Emacs, comme
la documentation et l'aide, ouvrent souvent (temporairement) une
fenêtre supplémentaire dans votre écran d'Emacs.</p>
<p>Les fenêtres d'Emacs n'ont rien en commun avec celle de X-Window
en terme d'interface graphique. Vous pouvez ouvrir d'autres fenêtre
X-Window pour afficher des buffers d'Emacs, par exemple pour
comparer deux fichiers côte à côte. Ces nouvelles fenêtres X-Window
sont référencées comme des <b>frames</b> dans les termes
d'Emacs.</p>
<h3>Frames</h3>
<p>Dans Emacs, une <b>frame</b> est une fenêtre X-Window séparée
dans laquelle un bufer d'Emacs est affiché. Mais les deux sont une
partie de la même session d'Emacs. L'attitude est un peu la même
que celle d'ouvrir plusieurs fenêtres d'Emacs lorsque vous tapez
Alt+N.</p>
<h2><a name="ss2.3">2.3 Les commandes de bases au clavier</a></h2>
<p>Cette section couvre les bases de la frappe au clavier pour
Emacs. Comme tous les éditeurs puissant, tout ce qui peut être fait
avec Emacs n'est qu'a quelques touches plus loin.</p>
<p>Si vous etes un utilisateur de <code>vi</code>, la notion
d'utilisez les touches<code>k,j,l,h</code> pour remonter ou
descendre d'une ligne, avancer ou reculer sur celle-ci vous a
surement pris un peu de temps. En fait cela vous a surement pris
quelques heures pour y être habitué, à pouvoir vous déplacer
normalement dans un fichier en utilisant les différentes
combinaisons de touches disponibles dans <code>vi</code>.</p>
<p>Emacs est différent. Il existe différentes combinaisons et
commandes à apprendre. Comme <code>vi</code>, vous aurez uniquement
à maitriser les commandes de bases pour pouvoir effectuer quasiment
tous les travaux. Alors, au fil du temps, vous pourrez continer
tranquillement l'apprentissage et trouver de meilleures voies pour
arriver à vos fins.</p>
<h3>Les touches de commandes(Meta, Esc, Control, and Alt)</h3>
<p>Comme vous allez bientot l'apprendre, Emacs fait une énorme
utilisation des combinaisons des touches multiples. Etant donné que
ce n'est pas un éditeur possédant différents modes comme
<code>vi</code>, vous n'aurez pas a penser en terme de mode de
commande ou de mode d'édition avant de pouvoir bouger le curseur ou
d'éxécuter une commande. A la place, vous aurez juste à presser la
bonne combinaison de touches et Emacs fera ce que vous lui aura
demandé(normalement :-)).</p>
<p>Les touches qu'Emacs utilise les plus sont le plus souvent les
touches Control, référencée dans la documentation commme
<code>C</code> et la touche Meta <code>M</code>. Comme peu
d'ordinateur possède un clavier possédant cette touche, il faudra
substituer à cette touche la touche Escape <code>Esc</code> ou la
touche Alternate <code>Alt</code>. Dans la plupart des
configurations les touches Esc et Alt font la même chose.</p>
<p>Donc lorsque vous verez une référence dans n'importe quelles
documentation sur Emacs à <code>C-x f</code> cela signifie
``appuyez sur control-x et ensuite f``. Et si vous voyez un
référence à quelque chose de la forme <code>M-x shell</code> cela
signifie ``appuyez sur alt-x et tapez le mot shell``.</p>
<p>Une commande trés utile pour les débutants est la commande
<code>M-x apropos</code> ou la commande <code>C-h a</code>. apropos
cherchera dans la documentation Emacs en ligne de toutes les
fonctions comportant l'expression régulière que vous tapé. C'est la
manière la plus simple de découvrir toutes les commandes relatives
aux frames. Tapez simplement <code>C-h a</code> et puis
<code>frame</code></p>
<h3>Se déplacer dans un Buffer</h3>
<p>Maintenant que vous savez ce que signifie toutes ces
abbréviations fantaisistes signifient, voici la liste des commandes
les plus populaires pour se déplacer dans un buffer.</p>
<pre>
Commandes
Clavier     Action
-----------------------------------
C-p         Monter d'une ligne
C-n         Descendre d'une ligne
C-f         Avancer d'un caractére
C-b         Reculer d'un caractère
C-a         Début de ligne       
C-e         Fin de ligne
C-v         Descendre d'une page
M-v         Monter d'une page
M-f         Avancer d'un mot
M-b         Reculer d'un mot
M-&lt;         Debut du buffer
M-&gt;         Fin du buffer
C-g         Finir l'opération courante
-----------------------------------
</pre>
<p>Et, comme vous pouviez vous y attendre, les flèches de direction
fonctionnent comme vous vous l'esperiez. Votre touche
<code>Backspace</code> peut-être pas. Mais c'est une autre
histoire.</p>
<h3>Commandes Principales q</h3>
<p>Bon, maintenant que vous savez vous déplacer dans un buffer,
qu'en est-il d'ouvrir et de fermer des fichiers, d'effectuer des
recherches. Voici les commandes de base.</p>
<p>Avant de passer à ces commandes, je ferais le brievement le
point sur son fonctionnement.</p>
<p>Toutes ces ``commandes claviers`` dans Emacs (celles avec
<code>M-x qqle chose</code> ou <code>C-qqle chose</code>) ne sont
juste que des raccourcis vers des fonctions internes a Emacs. Vous
pouvez les appeler aussi en tapant <code>M-x nomdelafonction</code>
et en appuyant sur <code>Entrée</code>. Vous pouvez aussi utiliser
le raccourci clavier de cette fonction (si elle en a un).</p>
<p>Par exemple, la fonction Emacs qui sauvegarde le buffer vers le
disque est appelée <code>save-buffer</code>. Par défaut, elle est
aussi reliée à <code>C-x C-s</code>. Vous pouvez donc soit tapez
<code>M-x save-buffer</code> et obtenir le même résultat.</p>
<p>Toutes les fonctions le plus communes possèdent un raccourci
clavier par défaut. En voici quelques exemples.</p>
<pre>
Commandes
Clavier     Fonction           Description
-------------------------------------------------------------------
C-x C-s     save-buffer        Sauvegarde le buffer courant sur le disque
C-x u       undo               Annule la commande précédente
C-c C-f     find-file          Ouvre un fichier
C-s         isearch-forward    Recherche en avancant une chaine de caractère
C-r         isearch-backward   Recherche en reculant une chaine de caractère
            replace-string     Recherche et remplace une chaine de caractère
            replace-regexp     Recherche et remplace une chaine de caractère en utilisant regexp
C-h t       help-with-tutorial Utilisation du tutorial
C-h f       describe-function  Affiche l'aide pour une fonction
C-h v       describe-variable  Affiche l'aide pour une variable
C-h x       describe-key       Affiche le comportement d'une combinaison de touches
C-h a       apropos            Recherche l'aide pour string/regexp
C-h F       view-emacs-FAQ     Affiche la FAQ d'Emacs
C-h i       info               Affiche la documentation d'Emacs
C-x r m     bookmark-set       Configure un signet. Utile dans les recherches.
C-x r b     bookmark-jump      Déplacement vers un signet.
-------------------------------------------------------------------
</pre>
<p>Comme vous utiliserez beaucoup de ces fonctions, vous
remarquerer que beaucoup vous demanderons quelque chose. Cela aura
toujours rapport avec le mini-buffer. C'est similaire d'utiliser la
commande <code>:</code> dans <code>vi</code> ou dans la plupart des
commandes que vous utilisez avec votre shell favori.</p>
<p>Emacs possède des centaines de fonctions de base. La liste au
dessus n'est qu'un trés petit exemple de ce que j'utilise
régulièrement. Voyez la documentation en ligne pour une liste plus
complète des fonctions disponible et une documentation complète sur
ce qui est mentionné au dessus.</p>
<h3>La Complétion par la touche Tab</h3>
<p>Comme la plupart des shells unix (bash, csh, tsch, ...) Emacs
offre la possibilité d'utiliser la complétion grace à la touche
<code>Tab</code>. En fait, la commande de complétion du
<code>bash</code> a été modifié après celle d'Emacs, donc si vous
utilisez cette possibilité dans <code>bash</code> vous serez chez
vous.</p>
<p>Pour exemple, essayer <code>M-x search</code> et appuyez sur
<code>Tab</code>. Emacs ajoutera un trait d'union pour indiquer
qu'il existe plusieurs possibilitées mais qu'elles possèdent toutes
un trait d'union comme prochain caractère. Tapez la touche
<code>Tab</code> une fois de plus pour qu'Emacs affiche les suites
possibles dans lesquelles vous pourrez choisir. Prenez note du fait
qu'il fait cela dans une nouvelle fenêtre: une contient le buffer
courant que vous éditer en ce moment, l'autre contient la selection
des complétions possibles pour ``search-``. Vous pourrez alors
appuyer sur <code>C-g</code> pour sortir du processus de selection
et fermer cette nouvelle fenêtre.</p>
<h2><a name="ss2.4">2.4 Tutorials, Aides, &amp;
Informations</a></h2>
<p>Emacs est installé avec un tutorial en ligne qui vous aidera à
utiliser les fonctiones d'édition de base et les fonctions que tout
le monde doit connaitre. Il explique aussi comment utiliser les
autres aides d'Emacs.</p>
<p>Je vous recommande vraiment de passer un peu de temps a travers
ce tutorial si vous pensez à faire un serieux effort pour apprendre
Emacs. Comme indiqué dans la table plus haut, vous pouvez entrer
dans le tutorial par <code>C-h t</code>. Le tutorial est dirigé est
ciblé pour les personnes qui commencent tout juste avec Emacs.</p>
<p>Si vous lancer Emacs sous X, Vous verez que le menu le plus en
haut à droite est labelé Help (Aide). Lorsque vous explorerez le
menu, vous verez que certaines rubriques possèdent des raccourcis
et ceux ci sont listés dans la partie droite du menu.</p>
<p>Enfin, pour voir le volume de documentation disponible avec
Emacs, vous pouvez essayer <code>M-x info</code> ou <code>C-h&gt;
i</code> qui lancera Info, le navigateur dans la documentation
d'Emacs.</p>
<h2><a name="s3">3. Les modes d'Emacs</a></h2>
<p>Les modes d'Emacs proposent différentes caractéristiques et
possibilités qui peuvent être activée(ou configurée, bien sur) pour
être utilisée dans différentes circonstances. Ces modes aident a
transformer l'éditeur (Emacs) pour en faire un outil utilisable
autant pour écrire une documentation, programmer dans différents
langages (C, C++, Perl, Java, et bien d'autres), créer une page
Web, envoyer des emails, lire des news, garder une traces des
?appointements??, et même jouer.</p>
<p>Les modes d'Emacs sont simplement des librairies de code Lisp
qui étendent, modifient, améliorent Emacs d'une certaine
manière.</p>
<h2><a name="ss3.1">3.1 Modes majeur vs. modes mineur</a></h2>
<p>Il existe deux types de modes différents disponible: le mode
majeur et le mode mineur. La distinction n'est pas facile à voir
sans avoir utilisé certains de ces modes, mais tracons en les
grands traits.</p>
<p>Seul un mode majeur peut être actif à un instant donné. Les
modes majeur sont des modes spécifiques à un langage, ou à une
tache, tandis que les modes mineurs sont des petits utilitaires
moins spécifique qui peuvent être utilisée avec nombre de taches
différentes.</p>
<p>Cela ressemble à un résumé, donc voici un exemple. Il existe un
que j'utilise assez souvent lorsque j'écris en format texte brut.
Ce mode est appelé <code>text-mode</code>. Ce mode a été crée pour
écrire du texte brut comme par exemple un fichier README. Il
reconnait les mots et les paragraphes et normalement fait ce que je
veux lorsque j'utilise les touches de direction standard</p>
<p>Quand j'écris un texte qui sera utilisé par d'autres personnes,
je veux courament qu'il ait un aspect correct. Il doit être
correctement cassé, etc... Pour activer le cassage du texte, je met
en place le mode mineur <code>auto-fill</code> Ce mode essaye de
faire les bons choix quand je tape et que je valide à la fin d'une
ligne. Le fait est qu'étant donné que c'est un mode mineur, on peut
l'utiliser avec beaucoup de mode majeur différents. Mes notions de
bon choix à effectuer quand j'atteind la fin d'une ligne sont
différentes que je soit dans le cas où je suis en mode texte
<code>text-mode</code> du cas où je suis en java
<code>java-mode</code> par exemple.Je ne veux pas que mon code java
soit cassé comme un texte anglais. Mais je <em>veux</em> que les
commentaires de mon code Java soit cassé. Le mode
<code>autofill</code> est assez bon pour deviner quoi faire.</p>
<p>Les auteurs des différents mode d'emacs ont fait du bon travail
en implémentant les caractéristiques mineures devant être dans des
modes mineurs dans ces mêmes modes mineurs!</p>
<p>Si vous regardez la composition d'un écran d'Emacs, vous
remarquerez que le mode ligne identifie le mode dans lequel se
situe Emacs. Dans ce cas c'est le mode qui se nomme Lisp
Interaction, c'est à dire le mode par défault. Il est réelement
utile seulement lors de la frappe de code Lisp. (Mais puisque Emacs
est écris en Lisp, pourquoi pas ?)</p>
<h2><a name="ss3.2">3.2 Les Modes de Programmations</a></h2>
<p>D'abord et avant tout, Emacs a été concu par des programmeurs,
pour des programmeurs (NdT: et des traducteurs...). Il existe des
modes de trés grande qualité disponible pour chaqu'un des langages
de programmation auquel vous pouvez pensez (et même d'autres moins
populaires). Je ne peux que décrire brievement quelqu'uns d'entre
eux ici. La plupart des modes de programmations partagent certaines
caractéristiques. Communément, Il font la plupart des choses
suivantes:</p>
<ul>
<li>Procure le surlignement par la couleur pour le langage.</li>
<li>Procure une identation automatique et le formattage du code
pour le langage.</li>
<li>procure une aide contextuelle (langage) sensitive.</li>
<li>Une interface automatique avec votre debogger.</li>
<li>Ajoute un menu spécifique à votre langage sur la barre de
menu.</li>
</ul>
<p>En plus, il existe des modes non spécifiques à un langage qui
aide à la réalisation de tâches commune à plusieurs langages. Ces
tâches sont par exemple l'interfacage avec un contrôleur de version
(RCS,CVS) , l'ajout automatique de commentaires, la création de
makefile, la mise à jour des fichiers de changement(ChangeLog),
etc...</p>
<p>Quand vous ajouter tout ces modes ensembles, et considérer la
maturité et la stabilité du code d'Emacs, vous pouvez le comparer
d'une manière plaisante à des applications IDE(Intergrated
Developpement Environnement) pour des langages comme C++ et Java.
Et, en plus, il est gratuit/libre.</p>
<h3>C/C++/Java</h3>
<p>A cause de leur syntaxte, le C, le C++ et le java sont assez
simiaires, il existe donc un seul mode majeur pour gérer les trois
langages (comme l'objective-C et l'IDL). C'est un package trés
mature et complet et il est inclu dans la distribution d'Emacs. Ce
mode est nommé <code>cc-mode</code> ou <code>CC Mode</code></p>
<p>Pour plus de détails, ou pour télécharger une nouvelle version,
aller à <a href=
"http://www.python.org/emacs/">http://www.python.org/emacs/</a>.</p>
<h3>Perl</h3>
<p>Il existe véritablement deux modes pour éditer du code Perl dans
Emacs. Le premier est nommé <code>perl-mode</code> (comme vous
pouviez l'éspèrer, et le second se nomme <code>cperl-mode</code>.
Je n'ai pas de bonnes raisons pour lesquelles il existe deux modes
(la documentation ne le dit pas, mais il semblerais que
<code>perl-mode</code> soit le mode original pour éditer du code
Perl dans Emacs. il semble avoir moins de possibilitées que
<code>cperl-mode</code> et la reconnaisance de certaines
possibilitées étranges du langage manque.</p>
<p>Personnalement, j'utilise et je recommande
<code>cperl-mode</code> qui semble être mieux maintenu et possèdent
toutes les caractéristiques que je demande. Vous pouvez trouver la
dernière version ici: <a href=
"ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs">ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs</a>.</p>
<p>Mais ne prenez pas mes mots comme paroles d'évangiles: essayez
les deux et prenez celui qui vous convient le mieux.</p>
<h3>Python</h3>
<p>Python(un autre langage de script trés populaire possède aussi
un mode Emacs. Pour autant que je puisse dire, il n'est pas
distribué avec GNU Emacs, mais est distribué avec XEmacs. Il
fonctionne malgré tout assez bien avec les deux éditeurs.</p>
<p>Vous pouvez obtenir le <code>python-mode</code> à partir du site
web officiel de Python <a href=
"http://www.python.org/emacs/python-mode/">http://www.python.org/emacs/python-mode/</a>.</p>
<h3>Les autres</h3>
<p>Il existe beaucoup d'autres modes d'éditions disponibles pour
aider les programmeurs. De tel mode vous aideront à executer des
tâches comme :</p>
<ul>
<li>Shell Scripts (Bash, sh, ksh, csh, ...)</li>
<li>Awk, Sed, Tcl, ...</li>
<li>Makefiles</li>
<li>Change Logs</li>
<li>Documentation</li>
<li>Deboggage</li>
</ul>
<p>Et bien plus. Voyez la dernière section de ce document pour plus
d'informations pour trouver d'autres modes et des ajouts.</p>
<h2><a name="ss3.3">3.3 Authoring</a></h2>
<p>Les modes d'Emacs <code>ne</code> sont <code>pas</code> limité
aux seuls développeurs. Les personnes écrivant de la documentation
peuvent bénéficier d'un vaste ensemble de modes Emacs.</p>
<h3>Correction Orthographique (mode <code>ispell</code>)</h3>
<p>Les auteurs de beaucoup de type de document on toujours besoin
de correction orthographique. Si vous avez <b>GNU ispell</b> , vous
pouvez taper <code>M-x ispell</code> et corriger le buffer courant.
Si ispell trouve des mots qu'il ne connait pas, it affichera la
liste des remplacements possible et vous laissera en choisir un (ou
aucun) de ceux-ci. Il est équivalent à bien des outils de
correction orthographique de logiciel non-libre.</p>
<h3>HTML (mode <code>html-helper</code>)</h3>
<p>Si vous vous retrouver à écrire des fichiers en HTML une fois
(et même beaucoup) vous voudrez peut-être tester
<code>html-helper-mode</code>. Il est disponible à l'adresse
<a href=
"http://www.santafe.edu/~nelson/tools/">http://www.santafe.edu/~nelson/tools/</a>
avec une documentation.</p>
<p>Comme son nom le suggère, <code>html-helper-mode</code> offre
beaucoup de fonctions pour aider ceux qui écrivent du code HTML à
la main, à l'ancienne mode.</p>
<h3>TeX (<code>tex-mode</code>)</h3>
<p>Lorsque vous écrivez des documents en TeX, il est souvent utile
d'obtenir Emacs certains surlignage ou coloration pour les
<code>/</code>, les accolades, et d'autres caractères.
<code>tex-mode</code> s'occupera de cela pour vous.</p>
<p>Bien que je n'écrivent plus en TeX directement maintenant,
lorsque je le faisais ce mode a été assez utile en transformant mon
source Tex en un source un peu plus lisible.</p>
<h3>SGML (<code>sgml-mode</code>)</h3>
<p>Le document que vous êtes en train de lire a été écris en SGML
(et probablement converti vers le format dans lesquel vous êtes en
train de lire). <code>sgml-mode</code> procure toute les bases pour
un document SGML: validation, surlignage, étiquetage avant/arrière,
et bien d'autre choses. C'est une des parties standard d'Emacs.</p>
<h2><a name="ss3.4">3.4 Autres Modes</a></h2>
<p>Bien sur, il existe des tas d'autres modes pratique pour rendre
la vie facile. Voici juste un panel des plus populaire.</p>
<h3>Le Contrôle de Version (mode <code>vc</code>)</h3>
<p>Le mode <code>vc</code> s'interface avec les plus populaires
contrôleurs de version(RCS, SCCS, CVS) pour simplifier le contrôle
des fichiers, contrôler les release, etc... C'est un mode standard
d'Emacs, documenté dans la doc d'Emacs.</p>
<h3>Le Mode Shell</h3>
<p>Pourquoi passer vers une autre fenêtre X, ou une console
virtuelle, juste pour lancer quelques commandes? Faites le a partir
d'Emacs, et garder vous des problèmes. <code>:-)</code></p>
<p><code>M-x shell</code> lancera un shell à l'interieur d'un
buffer Emacs. Vous pourrez effectuer la plupart des tâches que vous
effectuer sur un shell classique (a par des programmes tournant en
plein écran tel que <code>vi</code> ou <code>pine</code> car Emacs
dialogue avec votre shell réel dernière vous...</p>
<p>Cela fait aussi partie des standard d'Emacs, donc vous pourrez
le trouver documenté dans la doc d'Emacs.</p>
<h3>Telnet et FTP</h3>
<p>Pourquoi passer vers une autre fenêtre ou une console virtuelle
juste pour lancer telnet ou ftp? Faites le avec Emacs, et gagner du
temps. (Vous avez remarqué la ressemblance ?)</p>
<p>Comme vous pouvez lancer un shell avec Emacs, vous pouvez aussi
lancer telnet et ftp. Essayez <code>M-x telnet</code> ou <code>M-x
ftp</code> pour en faire l'experience. voyez la documentation pour
tous les détails.</p>
<h3>Pages Man</h3>
<p>Pourquoi passer vers une autre fenêtre ou une console virtuelle
juste pour lire une page man? Faites le avec Emacs, et gagner du
temps. (Promis, c'est fini.)</p>
<p>Comme vous pouvez lancer un shell avec Emacs, vous pouvez aussi
lire les pages de manuel. Essayez <code>M-x man</code> pour en
faire l'experience. voyez la documentation pour tous les
détails.</p>
<h3>Ange-FTP</h3>
<p>Pour citer la documentation d'<code>ange-ftp</code></p>
<blockquote>Ce package tente de rendre accessible des fichiers et
des répertoires en utilisant FTP à l'intérieur d'Emacs aussi
transparent que possible. Un sous ensemble du système de gestion de
fichier a été étendu pour utiliser FTP.</blockquote>
<p>Cela signifie que vous pouvez traiter des fichiers de machines
distantes comme si elle étaient situé sur votre ordinateur. Donc si
vous devez éditer un fichier sur différents ordinateurs, demander à
Emacs de l'ouvrir (en utilisant une syntaxte différente pour le
chemin) et vous occuper des détails de connection et de récuperer
le fichier. Vous pourrez alors sauver le fichier via <code>C-x
C-s</code>, et <code>ange-ftp</code> interceptera la sauvegarde et
écrira le fichier sur la machine distante.</p>
<p>La syntaxte différente pour le chemin se présente ainsi. Un
fichier nommé "monfichier", dans un répertoire "utilisateur", sur
une machine nommée :"ma.machine.org" peut-être obtenu en ouvrant le
fichier (<code>C-x f</code>)</p>
<blockquote>
<code>/utilisateur@ma.machine.org:~utilisateur/monfichier</code></blockquote>
<p>Etant un package standard de la distribution, vous pouvez aussi
consulter la documentation pour tous les détails.</p>
<p>Merci à Etienne Grossmann ( <a href=
"mailto:etienne@anonimo.isr.ist.utl.pt">etienne@anonimo.isr.ist.utl.pt</a>)
pour l'exemple ci-dessus.</p>
<h2><a name="customizing_emacs"></a> <a name="s4">4. Customiser
Emacs</a></h2>
<p>Toutes les customisations d'Emacs peuvent virtuellement être
effectué par du code Lisp. Vous pouvez modifier des variables qui
influence la manière d'agir d'Emacs, ou vous pouvez ajouter de
nouvelles fonctions à Emacs (ou effacer des fonction existantes, en
les remplacant par les vôtres).</p>
<h2><a name="ss4.1">4.1 Customisation Temporaire</a></h2>
<p>Lorsque vous vous habituerez à customiser Emacs, vous voudrez
probablement le faire d'une manière temporaire. Si vous faites
quelque chose de vraiment mauvais, vous pourrez sortir avec
<code>C-x C-c</code> et le relancer. Une fois que vous aurez trouvé
les changements qui vous plaisent, vous voudrez les rendre
permanent, vous pourrez alors les ajouter à votre fichier
<code>.emacs</code> pour qu'ils soient effectif à chaque lancement
d'Emacs. Nous en parlerons dans la prochaine section.</p>
<h3>Assignements de Variable</h3>
<p>La plus simple des customisations à faire est de changer la
valeur d'une variable d'Emacs. Le code pour effectuer cette action
ressemble à celui-ci:</p>
<pre>
(setq nom-variable nouvelle-valeur)
</pre>
<p><code>nom-variable</code> est le nom de la variable et
<code>nouvelle-valeur</code>est la valeur que vous voulez affecter.
(En langage Lisp, vous assignez une variable à une valeur.) La
fonction <code>setq</code> est analogue à un opérateur
d'assignement(courament <code>=</code>) dans d'autres langages de
programmations.</p>
<p><b>NOTE:</b> Je passe sur beaucoup de détail dans un soucis de
simplicité. Vous me verez moi, ou d'autres utiliser la fonction
Lisp <code>set</code> et même <code>setq-default</code>. Si vous
êtes vraiment curieux, aller voir de quoi il retourne dans la
réference Lisp d'Emacs.</p>
<p>Regarder cette ligne de mon fichier <code>.emacs</code>.</p>
<pre>
(setq-default transient-mark-mode t)
</pre>
<p>La Variable <code>transient-mark-mode</code> contrôle si une
region doit être surligné ou lorsqu'on la marque. Dans beaucoup
d'application graphique, lorsque vous cliquez et déplacez le
pointeur pour selectionner une partie du texte, elle devient
surlignée en mode inverse, ou dans une autre couleur. Emacs
effectuera de même lorsque la variable
<code>transient-mark-mode</code> aura une valeur non nulle
d'affectée.</p>
<p><em>QUELLE</em> valeur?</p>
<p>D'accord. Petite digression. Beaucoup de langage de
programmation ont des notions de valeurs vrai/fausse (true/false).
En C/C++ une valeur est considéré vrai (true) si elle possède une
valuer non nulle. En Perl, une valeur non nulle ou différentes de
zéro est vrai (true). En Lisp, la même idée s'applique, mais avec
des noms et des symboles différents.</p>
<p>Vrai (True) est courament écris comme ceci <code>t</code> et
faux (False) (ou Null) est écrit comme <code>nil</code>. Comme
d'autres language, bien sur, toute valeur non nulle est considéré
comme vrai.</p>
<p>Pour donner la description complète de ce que fait
<code>transient-mark-mode</code>, vous pouvez utilisez l'aide
en-ligne. Tapez <code>C-h v</code> ou <code>M-x
describe-variable</code> puis <code>transient-mark-mode</code>. Si
vous êtes fainéant comme moi, vous pourrez tirez avantage de la
complétion des noms de variables en utilisant la touche
<code>Tab</code> Tapez juste les premières lettres et appuyez sur
la touche <code>Tab</code>. Si vous avez tapé assez de lettre pour
qu'Emacs puisse l'identifier, vous verez apparaitre le mot entier
complété pour vous.</p>
<p>Une autre variable que l'on utilise souvent est
<code>fill-column</code>. Si vous dites à Emacs la largeur de
l'écran, il effectura la casse des lignes (et
<code>auto-fill-mode</code> respecte cette valeur). Pour affecter
une valeur absurde vous pouvez tapez:</p>
<pre>
(setq fill-column 20)
</pre>
<p>Mais cela ne fait rien maintenant. Vous devrez demander à Emacs
d'<b>évaluer</b> l'expression que vous avez tapé. Pour l'évaluer,
placer le point (le curseur) à la fin de l'expression et tapez
<code>C-x C-e</code>, qui appelera la fonction
<code>eval-last-sexp</code>. Lorsque vous ferez cela, notez que
<code>20</code> (ou ce que vous avez tapé) est renvoyé dans la
mini-buffer en bas de l'écran. C'est la valeur de retour de
l'expression que vous avez évalué.</p>
<p>Juste pour montrer que cela marche, taper une phrase ou deux. Si
vous avez le mode <code>auto-fill-mode</code> activé (probablement
pas) Vous remarquerez que le texte est cassé à la colonne 20.
Autrement après avoir tapé quelque chose, tapez <code>M-q</code>
qui appelera la fonction <code>fill-paragraph</code>. Il effectura
alors la casse du paragraphe.</p>
<h3>Associations de fichiers</h3>
<p>Vous pouvez configurer Emacs pour qu'il effectue des tâches
automatiques lorsque vous ouvrez des fichiers d'un certain type
(comme certaines interfaces graphiques lance une application
lorsque l'on clique sur un fichier précis). Par exemple, Je veux
qu'Emacs passe en mode <code>text-mode</code> chaque fois que
j'ouvre un fichier avec l'extension <code>.txt</code>. Bon, il le
fait déjà. <code>:-)</code> Donc faisont le passer en mode
<code>text-mode</code> lorsqu'il ouvre un fichier "README".</p>
<pre>
(setq auto-mode-alist (cons '("README" . text-mode) auto-mode-alist))
</pre>
<p>Ouch?</p>
<p>Sans plonger dans des flots de programmation Lisp que vous
n'avez pas besoin de connaitre (mais cela ne vous fera pas de mal
d'en apprendre plus), laisser juste vous expliquer que la variable
<code>auto-mode-alist</code> contien une liste de paires . Chaque
paires contient une expression régulière et un nom de mode Emacs.
Si dans un fichier que vous ouvrez correspond à l'une des
expressions régulières (dans ce cas, la chaine <code>README</code>)
Emacs lance automatiquement le mode que vous avez spécifié.</p>
<p>La syntaxte amusante ;-) au dessus est du au fait que nous
rajoutons une paire à ce mode. Vous ne voulez surement pas juste
assigner à <code>auto-mode-alist</code> une valeur sans vous
assurer que les valeurs contenues ne sont pas perdue.</p>
<p>Et si vous voulez qu'Emacs passe dans le mode
<code>html-helper-mode</code> chaque fois que j'ouvre un fichier
que se termine par <code>.html</code> ou <code>.htm</code>, je n'ai
qu'à ajouter à mon fichier .emacs:</p>
<pre>
(setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-mode-alist)) 
(setq auto-mode-alist (cons '("\\.htm$"  . html-helper-mode) auto-mode-alist))
</pre>
<p>Les possibilités sont vraiment sans fin.</p>
<h2><a name="ss4.2">4.2 Utiliser un fichier
<code>.emacs</code></a></h2>
<p>Après avoir passé quelque temps avec Emacs et avoir une idée de
base de ce que l'on peut customiser, vous voudrez probablement
changer quelques petites options de manière permanente. (ou au
moins jusqu'à ce que vous ayez changé d'avis. Si vous utiliser
Emacs tout les jours, vous trouverez que votre fichier .emacs
grossis de plus en plus. C'est bon puisque cela signifie que vous
avez compris comment faire fonctionner Emacs de la manière dont
<b>vous</b> voulez. C'est triste de voir que peu de programmes
permettent cette approche.</p>
<p>Dans le cas ou vous n'auriez pas encore deviné, chaque fois que
vous lancez Emacs, il cherche dans le fichier <code>.emacs</code>
dans votre répertoire home. Votre fichier <code>.emacs</code> est
le fichier où tout le code que vous voulez lancer automatiquement
et toutes sortes de customisations que nous avons vu
précedement.</p>
<p>Un autre exemple de mon fichier <code>.emacs</code>:</p>
<pre>
(setq inhibit-startup-message t)
</pre>
<p>La varialbe <code>inhibit-startup-message</code> contrôle si
Emacs doit afficher le message de bienvenu ou non. Après un certain
temps, je devenais malade en le voyant ( car je savais où trouver
l'aide et autres trucs) donc j'ai cherché une manière de le
désactiver.</p>
<p>Comme exercice, essayer de créer un fichier <code>.emacs</code>
par vous même et en ajoutant cette ligne. Sortez alors d'Emacs, et
relancer le. Vous ne devriez plus voir le message de bienvenue.</p>
<p>Souvent, lorsque vous lisez quelque chose à propos d'un mode
Emacs(ou d'un package), la documentation suggèrera d'ajouter des
lignes à votre fichier <code>.emacs</code> pour pouvoir faire
fonctionner le package ou le mode d'une manière précise.</p>
<p>La FAQ GNU Emacs (<code>C-h F</code>) contient quelques unes des
options concernant le fichier <code>.emacs</code> que vous
trouverez peut-être utile.</p>
<h2><a name="ss4.3">4.3 Le Package Customisé.</a></h2>
<p>Au fur et à mesure du développement d'Emacs en popularité et son
évolution, quelques un ont dis "il y doit y avoie une meilleure
manière de permettre aux novices de customiser Emacs." Et
<code>customize</code> était né.</p>
<p>Customize procure aux utilisateurs une manière plus intuitive de
configurer des parties d'Emacs. Pour l'essayez, visitez le
sous-menu <code>Customize</code> de votre menu <code>Help</code> ,
ou tapez <code>M-x customize</code>.</p>
<p>Customize groupe la configuration dans des groupes logiques,
tels que ``Editing'', ``Programming'', ``Files'', et ainsi de suite
Quelques groupes contiennent des sous-groupes.</p>
<p>Si vous effectuer des changements en utilisant l'interface
<code>Customize</code>, Emacs sauvegardera vos changements dans
votre fichier <code>.emacs</code> C'est assez pratique, car cle
code ajouté peut-être facilement inspecté (et changé)</p>
<p><em>Je n'utilise pas l'interface <code>Customize</code>, je ne
peut donc pas vous en dire plus.</em>.</p>
<h2><a name="ss4.4">4.4 L'affichage X Windows</a></h2>
<p>Comme n'importe quelle application X, Emacs respecte vos
ressources X. Cela signifie que vous pouvez contrôler les couleurs
initiales, (geometrie), et d'autres choses spécifiques que vous
pouvez faire avec un <code>xterm</code> ou <code>nxterm</code>, ou
autre.</p>
<p>Voici une partie utile de mon fichier
<code>~/.Xdefaults</code>:</p>
<pre>
emacs*Background: DarkSlateGray
emacs*Foreground: Wheat
emacs*pointerColor: Orchid
emacs*cursorColor: Orchid
emacs*bitmapIcon: on
emacs*font: fixed
emacs.geometry: 80x25
</pre>
<p>Voyez les pages man <code>X</code>pour plus de détails à propos
des ressources X.</p>
<p>Chris Gray ( <a href=
"mailto:cgray4@po-box.mcgill.ca">cgray4@po-box.mcgill.ca</a>) dis
aussi:</p>
<blockquote>Dans la debian, le fichier <code>~/.Xdefaults</code> ne
semble pas être utilisé. Néanmoins, les utilisateurs de la debian
peuvent mettre ce que vous avez mis plus haut dans le fichier
<code>/etc/X11/Xresources/emacs</code> et ils auront toutes les
belles couleurs comme si ils utilisaient une RedHat.</blockquote>
<h2><a name="popular_packages"></a> <a name="s5">5. Packages
Populaires</a></h2>
<p>En ajout de tout les différents modes disponibles d'Emacs, il
existe aussi beaucoup de package que l'on peut ajouter. Je les
appelle package car ce sont plus que des nouveaux modes. Ils
proposent souvent des possiblitées étendue, ou sont trop gros pour
être nommé modes, car cela ne leur rendrais pas justice. Dans
d'autres cas, ce sont des logiciels qui étendent ou integrent
d'autres modes d'Emacs et des packages. La distinction n'est pas
totalement claire, mais c'est assez.</p>
<h2><a name="ss5.1">5.1 VM (Mail)</a></h2>
<p>Pour citer la VM FAQ:</p>
<blockquote>VM (View Mail) est un sous-système d'Emacs qui permet
de lire des mails et de les manipuler à l'intérieur d'Emacs. Des
commandes existent pour effectuer toutes les actiosn classiques
d'un client Mail, comme la génération de réponse, la sauvegarde
dans un répertoire, l'effacement de message, etc ... Il existe
aussi d'autres commandes avancées qui effectue des tâches comme la
création ou l'éclatement de sommaire/résumé, la retransmission
(Forward), et l'organisation de la présentation des messages
suivant différents critères.</blockquote>
<p>Quand J'ai commencé à utilisez Emacs, J'ai essayé VM pendant un
certain temps. J'ai trouvé que c'était le grand remplacant pour
Pone, Elm, ou d'autres client Mail. Mais je n'avais pas envie
d'utiliser de programme distinct pour consulter Mail et News. VM
est activement développé et assez bien supporté aujourd'hui.</p>
<p>Il est disponible ici: <a href=
"http://www.wonderworks.com/vm/">http://www.wonderworks.com/vm/</a>.</p>
<h2><a name="ss5.2">5.2 Gnus (Mail et News)</a></h2>
<p>Pour citer le manuel GNUS:</p>
<blockquote>Gnus est un laboratoire de lecture des messages. Il
vous laissera voir n'importe quoi comme étant un groupe de
discussion. Vous pouvez lire des mails, naviguer dans vos
répertoires, faire du ftp, vous pouvez même lire des messages des
groupes de discussion!</blockquote>
<blockquote>Gnus essaye de permettre aux utilisateurs de lire des
news de la manière dont Emacs permet aux utilisateurs d'éditer un
texte. Gnus ne fixe aucune limite à ce que les utilisateur peuvent
être capable de faire. Les utilisateurs sont encouragés à étendre
Gnus pour qu'il se comporte comme l'utilisateur le veut. Un
programme <code>ne</code> doit <code>pas</code> contrôler les
utilisateurs; les utilisateurs doivent permttre de faire se qu'ils
veulent en l'utilisant (ou en abusant) le programme.</blockquote>
<p>GNUS est le programme que j'utilise en ce moment pour mes mails
et mes news (comme je l'ai dis plus tôt). GNUS est activement
développé et trés bien supporté aujourd'hui..</p>
<p>Il est disponible ici: <a href=
"http://www.gnus.org/">http://www.gnus.org/</a>.</p>
<h2><a name="ss5.3">5.3 BBDB (A rollodex)</a></h2>
<p>BBDB est une insidieuse base de donnée de type <code>Big
Brother</code> un programme comme rolldex pour Emacs qui fonctionne
avec la plupart des packages populaires de mails d'Emacs (Vm et
GNUS inclus).</p>
<p>Il est disponible ici: <a href=
"http://pweb.netcom.com/~simmonmt/bbdb/index.html">http://pweb.netcom.com/~simmonmt/bbdb/index.html</a>.</p>
<h2><a name="ss5.4">5.4 AucTeX (another TeX mode)</a></h2>
<p>AucTeX est un autre mode pour éditer des fichiers TeX.</p>
<p>Pour siter le site internet d'AucTeX:</p>
<blockquote>AUC TeX est un package extensible qui supporte
l'écriture et le formatage des fichiers TeX pour la plupart des
variantes d'Emacs. Beaucoup de package de macro sont disponible,
tel que AMS TeX, LaTeX, and TeXinfo.</blockquote>
<p>Il est disponible ici: <a href=
"http://sunsite.auc.dk/auctex/">http://sunsite.auc.dk/auctex/</a>.</p>
<h2><a name="Autres_ressources"></a> <a name="s6">6. Autres
Resources</a></h2>
<p>Cette section concerne les livres, les sites Web, les groupes de
discussion, les mailings listes et d'autres lieux ou vous pourrez
trouver des informations à propos d'Emacs.</p>
<h2><a name="ss6.1">6.1 Livres</a></h2>
<p>Il existe quelques bon livres disponibles pour apprendre Emacs.
En plus de cela, vous remarquerez que dans beaucoup de livres sur
Linux ou Unix vous avez un chapitre ou deux au sujet d'Emacs (et
<code>vi</code>)..</p>
<h3>Apprendre GNU Emacs</h3>
<p>Auteurs: Debra Cameron, Bill Rosenblatt, Eric S. Raymond</p>
<p>Editeur: O'Reilly &amp; Associates - <a href=
"http://www.ora.com/">http://www.ora.com/</a></p>
<p>Vous pouvez l'acheter par Amazon.com via leur programme
d'association: <a href=
"http://www.amazon.com/exec/obidos/ASIN/1565921526/jeremydzawodny">http://www.amazon.com/exec/obidos/ASIN/1565921526/</a></p>
<p><b>Commentaire:</b> C'est probablement le meilleur livre pour
commencer. Après avoir lu le HOWTO,et et regardé la FAQ, ce livre
vous servira comme tutorial compréhensible et approchable.</p>
<h3>Ecrire des extensiosn GNU Emacs</h3>
<p>Auteur: Bob Glickstein</p>
<p>Editeur: O'Reilly &amp; Associates - <a href=
"http://www.ora.com/">http://www.ora.com/</a></p>
<p>Vous pouvez l'acheter par Amazon.com via leur programme
d'association: <a href=
"http://www.amazon.com/exec/obidos/ASIN/1565921526/jeremydzawodny">http://www.amazon.com/exec/obidos/ASIN/1565921526/</a></p>
<p><b>Commentaire:</b>Après avoir utilisé Emacs durant quelques
temps, et avoir décidé que vous aimeriez écrire votre propre mode,
ou peut-être essayer quelques customisations avancée, ce livre est
fait pour vous. Il ne prétend pas vous apprenne le Lisp, mais
contient quand même une courte introduction.</p>
<h3>Programmer avec le Lisp d'Emacs : Une Introduction</h3>
<p>Auteur: Robert J. Chassell</p>
<p>Extrait du fichier README</p>
<blockquote>C'est une introduction elementaire pour programmer en
Lisp Emacs, pour les non programmeurs, et qui ne sont pas intéressé
par la programmation, mais qui veulent customiser ou étendre leur
environement de travail.</blockquote>
<p>Vous pouvez récuperer le manual dans sa totalité via FTP anonyme
à partir du serveur GNU FTP: <a href=
"ftp://prep.ai.mit.edu/gnu/emacs/">ftp://prep.ai.mit.edu/gnu/emacs/</a>.</p>
<p>Vous pouvez acheter une version imprimé par Amazon.com via leur
programme d'association: <a href=
"http://www.amazon.com/exec/obidos/ASIN/1882114418/jeremydzawodny/">
http://www.amazon.com/exec/obidos/ASIN/1882114418/jeremydzawodny/</a>.</p>
<p><b>Commentaire:</b> C'est un bon manuel d'introduction au Lisp
d'Emacs, même si vous n'êtes pas un programmeur confirmé.</p>
<h3>Le manuel de référence GNU Emacs Lisp</h3>
<p>Auteur: Richard Stallman</p>
<p>Editeur: The Free Software Foundation - <a href=
"http://www.fsf.org/">http://www.fsf.org/</a></p>
<p>Vous pouvez récuperer le manual dans sa totalité via FTP anonyme
à partir du serveur GNU FTP: <a href=
"ftp://prep.ai.mit.edu/gnu/emacs/">ftp://prep.ai.mit.edu/gnu/emacs/</a>.</p>
<p><b>Commentaire:</b>C'est le guide ultime pour le langage de
programmation Lisp d'Emacs</p>
<h2><a name="ss6.2">6.2 Sites Internet</a></h2>
<h3>EMACSulation</h3>
<p>EMACSulation est une colonne écrite par Eric Marsden qui
apparait dans le magazine en-ligne Linux Gazette situé à <a href=
"http://www.linuxgazette.com/">http://www.linuxgazette.com/</a>. La
colonne écrite la plus récente à ce jour est situé à <a href=
"http://www.linuxgazette.com/issue39/marsden.html">http://www.linuxgazette.com/issue39/marsden.html</a>.
Regarder en bas de l'article pour obtenir les colonnes
précédentes.</p>
<h2><a name="ss6.3">6.3 Groupes de discussions</a></h2>
<p>Rechercher dans votre fournisseur de news local les groupes de
discussion qui contiennent la chaine <code>emacs</code> et vous en
trouverez probablement quelques uns ... Voici ceux que mon serveur
supporte:</p>
<ul>
<li>comp.emacs</li>
<li>comp.emacs.sources</li>
<li>gnu.emacs</li>
<li>gnu.emacs.bug</li>
<li>gnu.emacs.help</li>
<li>gnu.emacs.sources</li>
</ul>
<h2><a name="ss6.4">6.4 Listes de diffusions</a></h2>
<p>La seule liste de diffusion dédiée à Emacs que je connaisse à
l'heure actuelle et la liste NT-Emacs. C'est une liste pour les
utilisateurs d'Emacs sur Micro$oft Windows. Voyez la FAQ NT-Emacs
<a href=
"http://www.cs.washington.edu/homes/voelker/ntemacs.html">http://www.cs.washington.edu/homes/voelker/ntemacs.html</a>
pour plus d'informations.</p>
<h2><a name="ss6.5">6.5 Les archives Lisp Emacs</a></h2>
<p>Extrait du README des archives Lisp Emacs:</p>
<blockquote>Les archives Lisp Emacs sur ftp.cis.ohio-state.edu
contiennent différentes portions et packages du code de Lisp Emacs.
Lisp Emacs est le langage utilisé pour l'éditeur GNU Emacs publié
par la FSF. Bien que le code de Lisp Emacs soit inclut dans la
distribution d'Emacs, bon nombre de personne ont écrit des packages
pour l'interfacer avec d'autres systèmes, pour avoir un meilleur
support de l'édition de leur langage de programmation, pour ajouter
des options, ou pour changer le comportement par défault d'Emacs.
La plupart du contenu de cette archive a été écrit par des
personnes(individuals) et distribué sur internet par les listes de
diffusions info-emacs, info-gnu-emacs, ou des groupes de discussion
tel que comp.emacs, gnu.emacs ou gnu.emacs.sources.</blockquote>
<p>Les archives sont disponibles via Ftp anonyme à l'adresse
<a href=
"ftp://ftp.cis.ohio-state.edu/pub/emacs-lisp/">ftp://ftp.cis.ohio-state.edu/pub/emacs-lisp/</a>.</p>
<p><b>NOTE:</b> Pour autant que je puisse dire, les archives Lisp
d'Emacs commencent à être périmées. J'ai vu seulement quelques
nouveaux package ou des mises à jour apparaitre, quoique je sais
qu'il en existe. Ils <code>sont</code> postés sur le groupe de
discussion <code>comp.emacs.sources</code>. (Corrigez moi si je me
trompe.)</p>
<h2><a name="credits"></a> <a name="s7">7. Crédits</a></h2>
<p>Les personnes suivantes ont contribué au succés de ce
document.</p>
<ul>
<li>Robert Vollmert <a href=
"mailto:rvollmer@gmx.net">rvollmer@gmx.net</a></li>
<li>Larry Brasfield <a href=
"mailto:larrybr@seanet.com">larrybr@seanet.com</a></li>
<li>Etienne Grossmann <a href=
"mailto:etienne@anonimo.isr.ist.utl.pt">etienne@anonimo.isr.ist.utl.pt</a></li>
<li>Thomas Weinell <a href=
"mailto:kf6mli@amsat.org">kf6mli@amsat.org</a></li>
<li>Adam C. Finnefrock <a href=
"mailto:adam@bigbro.biophys.cornell.edu">adam@bigbro.biophys.cornell.edu</a></li>
<li>Chris Gray <a href=
"mailto:cgray4@po-box.mcgill.ca">cgray4@po-box.mcgill.ca</a></li>
<li>Robert J. Chassell <a href=
"mailto:bob@rattlesnake.com">bob@rattlesnake.com</a></li>
<li>Isaac To <a href=
"mailto:kkto@csis.hku.hk">kkto@csis.hku.hk</a></li>
<li>Matteo Valsasna <a href=
"mailto:valsasna@elet.polimi.it">valsasna@elet.polimi.it</a></li>
<li>Tijs van Bakel <a href=
"mailto:smoke@casema.net">smoke@casema.net</a></li>
</ul>
</body>
</html>