Jak mogę zrestartować emacsa i zachować moje otwarte bufory i interaktywną historię?

17

W odpowiedzi na Jaki jest najszybszy sposób na ponowne załadowanie mojego pliku .emacs po dokonaniu zmian, aby wszystkie bufory, których dotyczy problem, wykryły te zmiany?

Zasugerowano, że pytanie o ponowne uruchomienie należy zadać osobno.

Czy istnieje prosty sposób na ponowne otwarcie wszystkich poprzednich buforów i zachowanie M-pinteraktywnej historii poleceń?

b4hand
źródło
Również istotne: emacs.stackexchange.com/questions/5428/…
PythonNut

Odpowiedzi:

16

desktop-save-modeobsługuje przechowywanie i przywracanie stanu bufora sesji. Może również obsługiwać okna i ramy. Aby uzyskać trwałość zmiennych między sesjami, zobacz savehist-mode. Domyślnie obsługuje historię minibufora, ale nie jest do niego ograniczony. Inną interesującą rzeczą, która może być interesująca do utrzymania, jest na przykład pierścień zabijania.

W skrócie:

(desktop-save-mode 1)
(savehist-mode 1)
(add-to-list 'savehist-additional-variables 'kill-ring) ;; for example
Sigma
źródło
3
Dotyczy to tylko Emacsa 24.4 lub nowszego.
Drew
@ Przepraszam, która dokładnie część?
Sigma
3
Nie mówiłem o desktop.eltym savehist. Zapisywanie i przywracanie okien i ram dodano do desktop.elEmacsa 24.4. I wsparcie dla buforów niezwiązanych z plikami. IOW, prawie wszystko (dotyczy komputerów stacjonarnych). ;-) Istnieje jednak obsługa buforów powiązanych z plikami przed 24.4.
Drew
Czy jest podobne rozwiązanie w Emacsie 24.3? Używam 24.3.1.
b4hand
Nie. Jak powiedziałem, został dodany w Emacs 24.4. Możesz pobrać wersję bibliotek Emacsa 24.4 desktop.eli frameset.el(która jest nowa w wersji 24.4) i spróbować użyć ich z Emacsem 24.3.
Drew