Emacs 101 – la configuration
Un apsect essentiel et extrèmement puissant
d'Emacs, est sa capacité à être
personnalisé et à être étendu en fonctionnalité. La configuration et
l'ajout de nouvelles fonctions se fait avec un langage de
programmation qui s'appelle le Emacs lisp ou elisp. Les
fichiers écris en elisp se termine par l'extension .el
.
Au démarrage, Emacs vérifie si il existe des fichiers elisp qui lui
indiquerait des particularités d'initialisation dont il doit tenir
compte. Pour se faire il va chercher si un des fichiers suivants
existent à la racine du répertoire utilisateur : ~/.emacs
,
~/.emacs.el
, ou ~/.emacs.d/init.el
. C'est dans ce fichier que l'on
doit indiquer au programme nos préférences d'utilisation.
Vous pouvez choisir la forme de fichier de configuration qui vous
plaira, mais la dernière forme est considérée comme faisant partie des
bonnes pratiques, car elle permet de regrouper en un seul répertoire
tous les fichiers nécessaires à la personnalisation d'Emacs.
D'ailleurs le répertoire .emacs.d
est généré par défaut, donc il ne
vous reste plus qu'à y ajouter votre fichier init.el
.
Création du fichier init.el
Tout d'abord, rappelons que C-
correspond à la touche Ctrl
et que
M-
correspond à la touche Alt
. Donc C-k
est semblable à Ctrl +
k
.
Nous allons maintenant créer le fichier init.el
qui nous permettra
de personnaliser Emacs à votre convenance :
- Ouvrir Emacs.
- Exécuter la commande
C-x C-f
(ouvrir ou créer un fichier). - Le pointeur est déplacer vers le minibuffer, où il est indiqué “Find file: ~/”.
- Écrivez alors
.emacs.d/init.el
puis tapez surEntrée
. Si vous vous êtes trompé ou que vous ne comprenez pas ce qui se passe, faîtesC-g
pour sortir du minibuffer et recommencez. - Si tout c'est bien passé, vous avez basculé vers un nouveau fichier vierge et le pointeur n'est plus dans le minibuffer.
- Faîtes
C-x C-s
pour enregistrerinit.el
sur le disque.
Dès lors nous sommes en mesure de commencer notre personnalisation de Emacs.
Nos premières modifications
En démarrant Emacs vous avez peut-être remarqué que le programme s'ouvrait avec une page de bienvenue et que la marge ne contenait pas de numéros de ligne. Nous allons donc changer ces deux paramètres pour commencer; car vous l'avourez, c'est bien pratique des numéros de ligne lorqu'on écrit du code et la page de bienvenue n'est pas très jolie ;)
Ajouter les numéros de ligne
Pour ajouter des numéros dans la marge, ajoutez les deux lignes de
code suivantes à votre fichier init.el
.
;; Add line numbers
(global-linum-mode 1)
La première ligne est simplement un commentaire pour indiquer quel est le rôle de la ligne suivante. D'ailleurs je vous conseille de toujours commenter ce que vous faîtes dans votre fichier de configuration personnel; il sera alors plus facile de vous y retrouver au fil du temps.
La deuxième ligne, vous l'aurez deviné, est une instruction qui indique à Emacs d'afficher les numéros de ligne dans la marge.
Pour voir les changements immédiatement, tapez M-x load-file
, puis
faîtes Entrée
. Cette commande réexécutera votre fichier
init.el
. Sinon vous devez redémarrer le programme pour que la
nouvelle instruction soit effective.
Surligner la ligne courante
;; Highlight Current Line
(global-hl-line-mode +1)
Retirer la barre de défilement (scroll)
;; Disable scroll bars
(scroll-bar-mode -1)
Changer la page d'accueil
Pour remplacer l'écran de démarrage par un autre buffer, il faut d'abord désactiver la valeur par défaut et ensuite indiquer avec quoi nous voulons le remplacer :
;; Remove splash screen on startup
(setq inhibit-splash-screen t)
;; Have dired open instead
(dired "~/")
Vous les aurez reconnus, la première et la troisième ligne sont des commentaires qui annonces ce que nous allons modifier et/ou ajouter.
La deuxième ligne elle, change la valeur par défaut de la variable
inhibit-splash-screen
à t
(vrai
en elisp) qui par défaut est à
nil
(nul
en elisp). Le nom de cette variable se traduirait par
«empêcher l'écran de démarrage».
Avec la quatrième ligne nous indiquons à Emacs d'ouvrir le répertoire
utilisateur (~/
) dans le gestionnaire de fichier (dired). Vous
pouvez ainsi ouvrir le dossier de votre choix ou vous pourriez ouvrir
directement un fichier avec la fonction find-file
au lieu de la
fonction dired
:
;; Remove splash screen on startup
(setq inhibit-splash-screen t)
;; Have a file instead
(find-file "~/.bashrc")
Installer des extensions avec le gestionnaire de paquet
Depuis la version 24 un gestionnaire de paquets est inclu par défaut. Le but de ce gestionnaire est de faciliter l'intallation, l'utilisation et la mise à jour d'extensions, de thèmes, de mode pour Emacs.
Pour afficher le gestionnaire de paquets vous devez taper la commande
M-x package-list
, puis faire Entrée
. Le buffer *Packages*
s'ouvrira; celui-ci est un tableau contenant l'archive par défaut qui
porte le nom de ELPA. Pour avoir la description complète d'un paquet
déplacez le curseur vis-à-vis celui-ci, puis appuyez sur
Entrée
. Pour marquer un paquet à installer faîtes i
; pour
compléter l'installation ou tout autre action appuyez sur la touche
x
.
Ajouter des archives
ELPA, c'est bien, mais il ne contient pas tout ce qui pourrait nous intéresser. Donc pour étendre l'offre des paquets il faut ajouter des archives à notre gestionnaire! Et MELPA et Marmalade sont deux des archives les plus fréquenter et fréquentables du moment.
Ce qui nous ramène donc à notre fichier init.el
… À la fin de
celui-ci coller le bloc de code suivant :
(when (>= emacs-major-version 24)
(require 'package)
(package-initialize)
(add-to-list 'package-archives '("melpa-stable" . "http://melpa-stable.milkbox.net/packages/") t)
(add-to-list 'package-archives '("marmalade" . "https://marmalade-repo.org/packages/"))
)
D'abord avec when
nous vérifions que la version de Emacs est bien
supérieur ou égal à la version 24. Ensuite nous importons le
gestionnaire de paquets avec require
, puis nous initialisons
celui-ci. Dès lors nous pouvons ajouter des archives supplémentaires
avec add-to-list
.
Encore une fois, pour voir les changements immédiatement nous devons
tapez M-x load-file
, puis faire Entrée
. Pour vérifier que les
nouvelles archives sont bien chargées dans le gestionnaire de paquets
il suffit de l'ouvrir (M-x package-list
) et de regarder sous la
colonne Archive si il y a les termes melpa-stable et marmalade
qui apparaissent çà et là. Sinon il faut redémarrer Emacs et
revérifier à nouveau.
Vous remarquerez que la liste des paquets s'est grandement apprécié de plusieurs dizaines d'items supplémentaires.
Mofication du thème : décore ta vie !
La dernière configuration que nous ferons aujourd'hui en est une de la plus haute importance : la mofification du thème graphique de Emacs ! D'autant plus que, maintenant grâce aux archives MELPA et Marmalade, nous avons accès à moulte nouveaux thèmes.
Vous pouvez parcourir Packages à la recherche de thèmes; pour se
faire vous pouvez utiliser I-search (C-s
) avec le mot clé
theme.
Une fois votre theme télécharger vous pouvez l'utiliser avec la
commande M-x load-theme
. Le mini-buffer vous demandera alors le nom
du thème à charger. Si vous ne vous en souvenez plus appuyez sur la
touche Tab
pour obtenir la liste des options disponibles.
Pour charger votre nouveau thème au démarage de Emacs il suffit de
lancer la fonction load-theme
dans votre fichier de configuration
init.el
. Disons que le thème installer par le gestionnaire de paquet
est cyberpunk, vous indiquerez donc ceci :
;; Theme
(load-theme 'cyberpunk t)
Si ne voulez pas y aller à l'aveugle en installant et chargeant un par un les thèmes qui se trouvent dans Packages, vous pouvez aller sur le site web Emacs Themes pour magasiner votre thème. C'est normalement indiquer si votre choix est disponible dans MELPA ou un autre archive.
Conclusion
Dans le prochain billet je parlerai du comment configurer GNU Emacs pour faire du dévloppement web.
Autre billet de cette série :