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.
Les modes d'Emacs sont simplement des librairies de code Lisp qui �tendent, modifient, am�liorent Emacs d'une certaine mani�re.
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.
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.
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� text-mode
. 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
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 auto-fill
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 text-mode
du cas o�
je suis en java java-mode
par exemple.Je ne veux pas que mon
code java soit cass� comme un texte anglais. Mais je veux que
les commentaires de mon code Java soit cass�. Le mode
autofill
est assez bon pour deviner quoi faire.
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!
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 ?)
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:
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...
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.
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� cc-mode
ou CC Mode
Pour plus de d�tails, ou pour t�l�charger une nouvelle version, aller � http://www.python.org/emacs/.
Il existe v�ritablement deux modes pour �diter du code Perl dans
Emacs. Le premier est nomm� perl-mode
(comme vous pouviez
l'�sp�rer, et le second se nomme cperl-mode
. Je n'ai pas de
bonnes raisons pour lesquelles il existe deux modes (la documentation
ne le dit pas, mais il semblerais que perl-mode
soit le mode
original pour �diter du code Perl dans Emacs. il semble avoir moins de
possibilit�es que cperl-mode
et la reconnaisance de certaines
possibilit�es �tranges du langage manque.
Personnalement,
j'utilise et je recommande cperl-mode
qui semble �tre mieux
maintenu et poss�dent toutes les caract�ristiques que je demande. Vous
pouvez trouver la derni�re version ici:
ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs.
Mais ne prenez pas mes mots comme paroles d'�vangiles: essayez les deux et prenez celui qui vous convient le mieux.
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.
Vous pouvez obtenir le python-mode
� partir du site web
officiel de Python
http://www.python.org/emacs/python-mode/.
Il existe beaucoup d'autres modes d'�ditions disponibles pour aider les programmeurs. De tel mode vous aideront � executer des t�ches comme :
Et bien plus. Voyez la derni�re section de ce document pour plus d'informations pour trouver d'autres modes et des ajouts.
Les modes d'Emacs ne
sont pas
limit� aux seuls
d�veloppeurs. Les personnes �crivant de la documentation peuvent
b�n�ficier d'un vaste ensemble de modes Emacs.
ispell
)Les auteurs de beaucoup de type de document on toujours besoin de
correction orthographique. Si vous avez GNU ispell , vous
pouvez taper M-x ispell
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.
html-helper
)Si vous vous retrouver � �crire des fichiers en HTML une fois (et
m�me beaucoup) vous voudrez peut-�tre tester
html-helper-mode
. Il est disponible � l'adresse
http://www.santafe.edu/~nelson/tools/ avec une documentation.
Comme son nom le sugg�re, html-helper-mode
offre beaucoup
de fonctions pour aider ceux qui �crivent du code HTML � la main, �
l'ancienne mode.
tex-mode
)Lorsque vous �crivez des documents en TeX, il est souvent utile
d'obtenir Emacs certains surlignage ou coloration pour les /
,
les accolades, et d'autres caract�res. tex-mode
s'occupera de
cela pour vous.
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.
sgml-mode
)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). sgml-mode
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.
Bien sur, il existe des tas d'autres modes pratique pour rendre la vie facile. Voici juste un panel des plus populaire.
vc
) Le mode vc
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.
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. :-)
M-x shell
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 vi
ou pine
car Emacs dialogue avec votre
shell r�el derni�re vous...
Cela fait aussi partie des standard d'Emacs, donc vous pourrez le trouver document� dans la doc d'Emacs.
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 ?)
Comme vous pouvez
lancer un shell avec Emacs, vous pouvez aussi lancer telnet et
ftp. Essayez M-x telnet
ou M-x ftp
pour en faire
l'experience. voyez la documentation pour tous les d�tails.
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.)
Comme vous pouvez lancer un shell avec Emacs, vous pouvez aussi
lire les pages de manuel. Essayez M-x man
pour en faire
l'experience. voyez la documentation pour tous les d�tails.
Pour citer la documentation d'ange-ftp
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.
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 C-x C-s
, et
ange-ftp
interceptera la sauvegarde et �crira le fichier sur
la machine distante.
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 (C-x f
)
/utilisateur@ma.machine.org:~utilisateur/monfichier
Etant un package standard de la distribution, vous pouvez aussi consulter la documentation pour tous les d�tails.
Merci � Etienne Grossmann ( etienne@anonimo.isr.ist.utl.pt) pour l'exemple ci-dessus.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:17