Wie lade ich verzeichnislokale Variablen neu? Ich möchte eine ändern .dir-locals.el
und möchte, dass solche Änderungen auf die aktuelle Emacs-Sitzung angewendet werden.
27
Wie lade ich verzeichnislokale Variablen neu? Ich möchte eine ändern .dir-locals.el
und möchte, dass solche Änderungen auf die aktuelle Emacs-Sitzung angewendet werden.
buffer-list
.Antworten:
Diese Funktion liest die dir-locals-Datei erneut und legt die neuen Werte für den aktuellen Puffer fest:
Und wenn Sie dir-locals für jeden Puffer im Verzeichnis Ihres aktuellen Puffers neu laden möchten:
Sie können alle
after-save-hook
Verzeichnis-Locals jedes Mal aktualisieren lassen, wenn Sie eine Verzeichnis-Locals -Datei speichern, indem Sie einen Puffer zu .dir-locals.el hinzufügen.Dies könnte natürlich unbeabsichtigte Konsequenzen haben, da die Variablenwerte zurückgesetzt werden, unabhängig davon, ob sie an anderer Stelle geändert wurden. Verwenden Sie sie daher auf eigenes Risiko.
quelle
Sie können auch verwenden:
M-: (hack-dir-local-variables-non-file-buffer)
Um zu überprüfen, ob es funktioniert : Geben Sie in einem Puffer (z. B. eine Datei im Organisationsmodus) Folgendes ein
M-x add-dir-local-variable
, und validieren Sie ihn (Standard-Organisationsmodus). Geben Sie dann demo RET ein und dann "this is a demo" RET.Ihre .dir-locals.el- Datei wird in einem Puffer angezeigt :
Sie müssen es speichern:
C-x C-s
Kehren Sie dann zu Ihrem Organisationsmodus-Puffer zurück und prüfen Sie, ob die Demovariable nicht definiert ist (
C-h C-v demo
)Hier kannst du den Trick anwenden:
M-: (hack-dir-local-variables-non-file-buffer)
Nun
C-h C-v demo
wird gedruckt:quelle