2011-08-26 24 views
13

Pytanie już zostało zadane how to reload a .emacs file after changing it.Załaduj ponownie .emacs dla wszystkich aktywnych buforów

Proponowane rozwiązania polegały na użyciu M-x load-file lub M-x eval-region RET w zmienionym regionie.

Żadne z tych rozwiązań nie ma wpływu na inne otwarte bufory dla mnie. Czy istnieje sposób na ponowne załadowanie pliku .emacs dla wszystkich otwartych buforów?

Należy również pamiętać, że M-x load-file nie ma pożądanego skutku z powodów przedstawionych w komentarzach do that answer.

Odpowiedz

18

Twój plik .emacs jest konfiguracją globalną, która jest oceniana tylko raz. Nie jest on stosowany indywidualnie do każdego bufora.

Sposób, w jaki faktycznie osiągniesz to, czego chcesz, zależy od tego, jakie są te zmiany .emacs. Niektóre elipsy będą obowiązywały tylko przy pierwszej ocenie; lub gdy bufor zmienia główne tryby; lub gdy plik jest załadowany; etc, etc ...

Jeśli chcesz odświeżyć niektóre lub wszystkie bufory plików ibuffer sprawia, że ​​całkiem proste:

  • MxibufferRET zacząć ibuffer (polecam ten wiążący do CxCb).
  • /f.RET filtrować według nazwy pliku regexp ., aby dopasować dowolną nazwę pliku.
  • m (na [default]) w celu oznaczenia wszystkich filtrowanych buforów.
  • V (wielkie litery), aby przywrócić wszystkie oznaczone bufory.

lub można zastąpić kroki 2 + 3 z M xibuffer-mark-by-file-name-regexpRET.RET. Może chcesz powiązać tego polecenia *f:

;; Bind `ibuffer-mark-by-file-name-regexp' to *f 
(eval-after-load "ibuffer" 
    '(define-key ibuffer-mode-map (kbd "* f") 'ibuffer-mark-by-file-name-regexp)) 

typ *c-h aby wyświetlić wszystkie inne ibuffer-mark-* poleceń, które są związane domyślnie.

3

To może uderzyć cię jako brutalnej siły, ale

  • będzie to na pewno przeładować plik startowy (rozważyć alternatives to .emacs)
  • będzie ponownie wszystkie otwarte buforów (o ile używasz desktop, które powinny)
  • łatwo jest

    C-x C-c 
    emacs --debug-init & 
    
+1

Ostrzegamy, że desktop.el przywróci określone rzeczy (np. tryby główne i podrzędne oraz zmienne lokalne), tak jak były pierwotnie, a nie takie, jakie byłyby, gdyby bufor był tworzony od nowa. Jeśli celem jest zastosowanie nowych ustawień do tych buforów, może to stanowić przeszkodę. – phils

Powiązane problemy