Une des particularités d'Emacs est l'utilisation des modes. Les modes majeurs d'Emacs modifient le comportement d'Emacs en fonction du type de texte édité. Cette modification de comportement permet de facilité la saisie de texte d'un mode ou d'un autre.
Chaque buffer possède un mode majeur et un seul. Les
modes mineurs sont en revanche une option
supplémentaire ajoutée au buffer. Un buffer peut ne pas
posséder de mode mineur tout comme il peut en posséder
plusieurs. Des exemples de modes mineurs sont les modes
auto-fill
(passage à la ligne automatique), le mode
auto-save
(sauvegarde automatique), font-lock
(changement de polices dans le buffer), iso-accents
(production de lettres européennes), scroll-bar
(barre
de défilement à coté de chaque buffer).
On peut passer d'un mode à l'autre en exécutant M-x
nom-du-mode-mode
.
Une variable d'Emacs permet de choisir quels modes seront
utilisés par défaut lorsqu'un fichier est ouvert:
auto-mode-alist
. Elle est du format
"(
regexp .
mode". Le mode
mode est le mode exécuté lorsque l'expression
régulière regexp est valide par rapport au nom
du fichier ouvert. Par exemple, une ligne à ajouter dans le
fichier de configuration d'Emacs.
(setq auto-mode-alist (append '(("\\.pov$" . pov-mode) ("\\.[c,h])$" . c-mode) ("\\.\\(c|cpp|cc\\)$" . c++-mode) ("\\.sgml$" . sgml-mode) ("^TO_DO" . change-log-mode)) auto-mode-alist))