Comment rechargez-vous les variables locales du répertoire? Je voudrais modifier un .dir-locals.el
et appliquer ces changements à la session Emacs en cours.
27
Comment rechargez-vous les variables locales du répertoire? Je voudrais modifier un .dir-locals.el
et appliquer ces changements à la session Emacs en cours.
buffer-list
.Réponses:
Cette fonction relira le fichier dir-locals et définira les nouvelles valeurs pour le tampon actuel:
Et si vous souhaitez recharger dir-local pour chaque tampon dans le répertoire de votre tampon actuel:
Vous pouvez faire actualiser tous les dir locaux chaque fois que vous enregistrez un fichier dir locaux en ajoutant un
after-save-hook
tampon à .dir-locals.el.Bien sûr, cela pourrait avoir des conséquences inattendues car cela réinitialisera les valeurs des variables, qu'elles aient ou non été modifiées ailleurs, utilisez-les donc à vos propres risques.
la source
Vous pouvez aussi utiliser:
M-: (hack-dir-local-variables-non-file-buffer)
Pour vérifier que cela fonctionne : à partir d'un tampon (un fichier en mode org par exemple), tapez
M-x add-dir-local-variable
, puis validez (mode org par défaut), puis tapez demo RET, puis "this is a demo" RET.Votre fichier .dir-locals.el apparaîtra dans un tampon:
Vous devez l'enregistrer:
C-x C-s
Revenez ensuite à votre tampon de mode org et vérifiez que la variable de démonstration n'est pas définie (
C-h C-v demo
)Ici, vous pouvez utiliser l'astuce:
M-: (hack-dir-local-variables-non-file-buffer)
Imprime maintenant
C-h C-v demo
:la source