Jeden Tag starte ich Emacs und öffne genau die Dateien, die ich am Tag zuvor geöffnet hatte. Kann ich der Datei init.el etwas hinzufügen, damit alle Puffer, die ich beim letzten Beenden von Emacs verwendet habe, erneut geöffnet werden?
89
Antworten:
Sie können die Emacs Desktop-Bibliothek verwenden :
quelle
M-:
Ausführen(setq debug-on-error t)
, rufendesktop-revert
Sie dann auf und es kann den fehlerhaften Fehler im Debugger abfangen. Für mich war es eine globale Einstellung, die pufferlokal sein sollte, was dazu führte, dass die Frame-Wiederherstellung fehlschlug. (Nur mitemacs --debug-init
könnte das Problem auch fangen, aber ich habe frühere Methode verwendet.)Obwohl ich vermute, dass die Frage nach der "Desktop" -Funktion von emacs suchte (siehe Antwort oben), kann Lewaps Ansatz nützlich sein, wenn der verwendete Dateisatz wirklich genau der gleiche Dateisatz ist. Tatsächlich kann man noch einen Schritt weiter gehen und "Profile" definieren, wenn man verschiedene Sätze regelmäßig verwendeter Dateien hat ... Quickie-Beispiel:
Wenn Sie feststellen, dass Sie während der Arbeit regelmäßig zwischen verschiedenen Sätzen regelmäßig verwendeter Dateien hin- und herwechseln, sollten Sie Perspektiven verwenden und jede Perspektive mit dem gewünschten Satz regelmäßig verwendeter Dateien füllen.
quelle
Zum Speichern / Wiederherstellen der Puffer / Registerkarten (insbesondere der elscreen-Registerkarten): Ich verwende elscreen und die Art und Weise, wie ich die Desktop-Sitzung und die Konfiguration der elscreen-Registerkarten speichere / wiederherstelle, ist der folgende Code in meiner .emacs-Datei (die verwendeten Namen sind selbsterklärend und wenn die Speicher- / Wiederherstellungsfunktionen nicht jedes Mal ausgeführt werden sollen, wenn emacs startet, kommentieren Sie einfach die Zeilen mit "(push # 'elscreen-store kill-emacs-hook)" und "(elscreen-restore)"):
quelle
emacs-configuration-directory
mituser-emacs-directory
dem Emacs bereits zur Verfügung stellt.Es gibt nützliche Verbesserungen, die Sie an der grundlegenden Desktop-Funktion vornehmen können. Besonders praktisch (IMO) sind Methoden zum automatischen Speichern des Desktops während der Sitzung, da Sie sonst bei einem Systemabsturz an der Desktop-Datei hängen bleiben, mit der Sie diese Sitzung gestartet haben - ziemlich ärgerlich, wenn Sie Emacs für viele laufen lassen Tage auf einmal.
http://www.emacswiki.org/emacs/DeskTop
Das Wiki enthält außerdem nützliche Informationen zum Speichern von Daten zwischen Sitzungen im Allgemeinen:
http://www.emacswiki.org/emacs/SessionManagement
Speziell für Desktops fand ich Desktop Recover besonders vielversprechend, habe es aber noch nicht ausprobiert.
quelle
(find-file-noselect "/my/file")
öffnet es lautlos, dh ohne den Puffer anzuheben. Nur sagen.BEARBEITEN Dieser Befehl ist nicht interaktiv . Um es zu testen, müssen Sie den Ausdruck auswerten, indem Sie beispielsweise den Cursor nach der letzten Klammer positionieren und Cx Ce drücken
Downvoting ist nicht cool ; Dieser Befehl funktioniert definitiv und ist im Rahmen der Frage.
quelle