Cinq solutions existent.
Si ce n'est pas déjà fait, placer dans un fichier de démarrage
(.xinitrc, .xsession) la commande : xmodmap -e
"keysym Alt_R = Multi_key".
Pour insérer des caractères accentués il suffit dès lors d'utiliser
une combinaison de touches alt-droit, accent,
lettre. Par exemple, alt-droit, 'ˆ', 'A' produira le
A majuscule circonflexe.
GNU Emacs n'affiche pas par défaut les caractères accentués. Il faut
pour cela évaluer la fonction standard-display-european, par
exemple en incluant directement (standard-display-european t)
dans son fichier d'initialisation d'Emacs (souvent ~/.emacs,
sous Unix). En revanche la saisie de ces caractères ne pose pas de
problème.
Sous XEmacs, c'est le contraire. Il affiche les caractères accentués
correctement par défaut. Pour qu'il gère la touche compose il
faut cependant l'obliger à charger la bibliothèque x-compose,
par exemple en plaçant (require 'x-compose) dans le fichier
d'initialisation de XEmacs.
Vous pouvez alors utiliser les tables syntaxiques ISO 8859/1 :
(set-input-mode nil nil 1)
;;; decommenter la ligne suivante si clavier QWERTY
; (require 'x-compose)
;; <compose> c , ---> c
;; <compose> e ' ---> e
;; <compose> a ` ---> a
;; <compose> i " ---> i
;; <compose> o ^ ---> o
(require 'iso-syntax)
Ajouter dans le  /.emacs (standard-display-european t) et
(iso-accents-mode t)
Pour obtenir l'accent souhaité il suffit de taper ' (accent aigu) ou ` (accent grave) suivi de la lettre que l'on veut accentuer.
Le c cédille s'obtient avec  c , les trémas avec les guillemets, les accents circonflexes avec ˆ. Il existe aussi des combinaisons avec / Pour obtenir un signe simple ( ' ou bien ` ), il suffit de saisir le signe suivi d'un espace.
Ajouter dans le  /.emacs (require 'iso-insert) puis utiliser
le préfixe (par défaut) C-x 8. Par exemple, pour taper un
'é', utiliser C-x 8 ' e, pour un '«', utiliser C-x 8
<, pour un '©', utiliser C-x 8 C, etc. Pour plus de
détails, voir le fichier iso-insert.el de votre distribution.
La version 2.0 du mode iso-latin-1 pour Emacs (il marche avec XEmacs et FSF emacs) est disponible sur ftp://ftp.laas.fr/pub/Logiciels/emacs/iso-latin-1.el.
Exemple d'utilisation :
(autoload 'iso-latin-1-mode "iso-latin-1"
"Mode for editing accented text" t)
(add-hook 'mail-mode-hook '(lambda () (iso-latin-1-mode 1)))
iso-latin-1 existait avant que d'autres modes tels que iso-acc, iso-insert, et d'autres soient distribués avec emacs >=19, et certains préferent cette approche.
Pour voir les accents sous GNU Emacs 20 :
(set-language-environment 'latin-1)
(set-input-mode (car (current-input-mode)) (nth 1 (current-input-mode)) 0)
Ensuite, on peut avoir des caractères non accessibles au clavier en
changeant de méthode de saisie avec la commande
toggle-input-method, C-\ (ou C-u C-\ pour
choisir sa méthode, notez la disponibilité de french-postfix
et de french-prefix)
Certains serveurs X semblent renvoyer dead-circumflex au lieu
de asciicircum. Rajouter dans son .emacs
(define-key function-key-map dead-circumflex 'compose-circumflex-map)
M-x auto-fill-mode. La variable default-fill-column
contient le nombre maximum de caractères par ligne. Utiliser
(setq default-fill-column VALEUR) pour la modifier.
Vous pouvez rajouter dans votre fichier .emacs pour lancer ce mode par
défaut :
(setq default-major-mode 'text-mode)
(setq text-mode-hook 'turn-on-auto-fill)
(setq line-number-mode t)
(setq column-number-mode t)
En principe, (load-library "paren" ) suffit. Si vous voulez
quelque chose de plus fin :
;; marquage automagique
(load-library "paren")
(show-paren-mode 1)
(make-face 'paren)
(set-face-background (quote paren) "red")
(set-face-foreground (quote paren) "black")
(setq show-paren-face 'paren)
;;; do µ parenthesis matching in emacs, as '%' in vi
(defun match-paren (arg)
"Go to the matching parenthesis if on parenthesis else insert µ."
(interactive "p")
(cond ((looking-at "[([{]") (forward-sexp 1) (backward-char))
((looking-at "[])}]") (forward-char) (backward-sexp 1))
(t (self-insert-command (or arg)))))
(global-set-key (read-kbd-macro "µ") 'match-paren)
Il faut réaffecter C-h à une autre action (par exemple
l'effacement de caractère, comme ici) et éventuellement affecter une autre
combinaison de touches à l'appel à l'aide :
(global-set-key "\M-?" 'help-command)
(global-set-key "\C-h" 'delete-backward-char)
Placer le curseur dans le paragraphe et faire ESC-Q (ou toute
autre combinaison liée à
fill-paragraph-or-region). Attention, si une ligne commence
par \, elle ne sera pas reformatée (mettre un espace avant pour
qu'elle soit prise en compte).
Utiliser (setq-default indent-tabs-mode nil)