/usr/share/doc/HOWTO/fr-html/Emacs-Beginner-HOWTO.html is in doc-linux-fr-html 2013.01-2.
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 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 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.69">
<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 & 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 & 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 & 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 & 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-< Debut du buffer
M-> 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, &
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>
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>Où <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 & 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 & 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>
|