[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ suivant ]


À la découverte de GNU Emacs
Chapitre 6 - Quelques idées pour votre fichier d'initialisation


Je vais indiquer dans ce chapitre quelques variables, packages ou fonctions rencontrés dans mon fichier d'initialisation d'Emacs. Un tel fichier peut s'appeler .emacs.el ou porter un autre nom (voir ci-dessous). Ce qui suit devrait vous permettre d'avoir rapidement un Emacs agréable à utiliser.

Mais qu'est-ce donc que ce .emacs.el (ou .emacs) dont on parle partout ? C'est le fichier que vous devez utiliser pour personnaliser Emacs. La notation .emacs.el (comprise par Emacs depuis la version 20.4) est plus cohérente que l'ancienne appellation .emacs car ce fichier est un fichier ELisp, comme tous les fichiers se terminant en .el livrés avec Emacs[26].

Si vous venez d'installer Emacs, vous n'avez probablement pas déjà de fichier d'initialisation et utilisez donc la configuration par défaut — sauf si vous avez un site-start.el (ou site-start.elc), dont le but est d'effectuer une configuration globale d'Emacs pour tout un site, alors que le .emacs.el est censé être propre à chaque utilisateur. Notez que le fichier d'initialisation d'Emacs peut porter divers noms, pour des raisons historiques et de compatibilité avec certains systèmes d'exploitation : ~/.emacs, ~/.emacs.el, ~/.emacs.d/init.el, voire ~/_emacs ou ~/_emacs.el pour supporter certaines anciennes versions de Windows.

Dans ce qui précède, ~ représente votre répertoire home. Sous Unix ou Linux, c'est très facile : c'est le répertoire contenu dans la variable d'environnement HOME (typiquement, /home/marcel). Sous Windows, il y a de nombreuses possibilités qui dépendent pour partie de la version de Windows utilisée :

Vous pouvez demander à Emacs ce qu'il considère comme étant votre répertoire home en faisant C-x d ~/ <RET>. La première ligne obtenue indique le chemin complet du répertoire en question et les suivantes son contenu.

Dans tous les cas, pour ajouter des instructions de configuration comme indiqué dans ce qui suit, il faut créer un fichier avec un des noms indiqués ci-dessus (je conseillerais aujourd'hui ~/.emacs.d/init.el ou ~/.emacs.el), où ~ représente votre répertoire home. Dans tout ce qui suit, j'appelerai ce fichier .emacs.el.

Le fichier d'initialisation .emacs.el, si Emacs parvient à le trouver (i.e. s'il est présent et lisible dans votre répertoire home), est lu et exécuté par Emacs à la fin de son lancement (ce fichier doit contenir du code Emacs Lisp valide). Pour vous en convaincre, vous pouvez par exemple ne mettre que la ligne suivante dans votre .emacs.el :

     (insert "Ce texte a été inséré ici par mon .emacs.el !")

et (re)lancer Emacs.

Voici donc quelques idées pour personnaliser Emacs à l'aide de ce fameux fichier d'initialisation .emacs.el.


6.1 Avec une version récente

Les suggestions suivantes s'appliquent à Emacs 23 ou supérieur ; elles sont été testées avec des versions allant jusqu'à Emacs 26. Si vous utilisez une version plus récente d'Emacs et rencontrez un problème avec ce qui est proposé ici, pensez à lire les changements importants apportés dans votre version d'Emacs avec C-h N.

La configuration la plus basique que je conseillerais est la suivante (testée sous Linux avec une locale UTF-8) :

     (set-language-environment "UTF-8")
     
     ;; UTF-8 en priorité, puis latin1, puis priorités définies par Emacs
     (prefer-coding-system 'latin-1)
     (prefer-coding-system 'utf-8)
     
     (set-keyboard-coding-system default-keyboard-coding-system)
     (set-terminal-coding-system default-terminal-coding-system)

Le premier point ci-dessous ne fait qu'expliquer un peu ces lignes et esquisser quelques options alternatives.

Voilà, je vous ai présenté des extraits de mes fichiers d'initialisation qui me semblent pouvoir intéresser la plupart des utilisateurs débutants ainsi que les idées principales de la configuration de ce fichier (load-path, auto-mode-alist, les hooks...).

Si votre configuration est assez longue, pensez à la répartir dans plusieurs fichiers chargés depuis le .emacs.el avec une ligne du type :

     (load "flo-init-main")

On peut aussi utiliser :

     (require 'feature)

à condition que le fichier à charger effectue, de préférence comme dernière opération (pour éviter que la feature ne soit prétendument présente dans le cas où il y aurait eu une erreur) :

     (provide 'feature)

6.2 Avec d'anciennes versions

Ce qui précède fonctionne bien sous Emacs 23. Si vous êtes confronté à de vieilles versions, les recettes suivantes pourront peut-être vous rendre service :


[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ suivant ]


À la découverte de GNU Emacs

Version 1.37 (1er février 2019)

Florent Rougon mailto:f . rougon (**AT**) free [point] fr