Jak przeładować zmienne lokalne katalogu? Chciałbym zmodyfikować .dir-locals.el
i zastosować takie zmiany w bieżącej sesji Emacsa.
27
Jak przeładować zmienne lokalne katalogu? Chciałbym zmodyfikować .dir-locals.el
i zastosować takie zmiany w bieżącej sesji Emacsa.
buffer-list
.Odpowiedzi:
Ta funkcja ponownie odczyta plik dir-locals i ustawi nowe wartości dla bieżącego bufora:
A jeśli chcesz ponownie załadować katalog-lokalny dla każdego bufora w bieżącym katalogu bufora:
Możesz mieć odświeżanie wszystkich katalogów lokalnych za każdym razem, gdy zapisujesz plik katalogów lokalnych przez dodanie
after-save-hook
buforów .dir-locals.el.Oczywiście może to mieć niezamierzone konsekwencje, ponieważ spowoduje to zresetowanie wartości zmiennych niezależnie od tego, czy zostały one zmienione gdzie indziej, więc używaj na własne ryzyko.
źródło
Możesz także użyć:
M-: (hack-dir-local-variables-non-file-buffer)
Aby sprawdzić, czy działa : z bufora (na przykład plik trybu org), wpisz
M-x add-dir-local-variable
, a następnie sprawdź poprawność (domyślny tryb org), następnie wpisz demo RET, a następnie „to jest demo” RET.Twój plik .dir-locals.el pojawi się w buforze:
Musisz to zapisać:
C-x C-s
Następnie wróć do bufora trybu organizacji i sprawdź, czy zmienna demonstracyjna nie jest zdefiniowana (
C-h C-v demo
)Tutaj możesz użyć lewy:
M-: (hack-dir-local-variables-non-file-buffer)
Teraz
C-h C-v demo
wydrukuje:źródło