
Ich weiß, dass wir Emacs starten können, ohne die Dateien und den Status der letzten Sitzung zu öffnen. Starten Sie es wie folgt:
emacs --no-desktop
Aber wie machen wir das in der init.el
Datei?
Antwort1
Stellen Sie einfach sicher, dass dies desktop-save-mode
in Ihrer Init-Datei deaktiviert ist. Wenn der Modus beim Starten von Emacs aktiviert ist, wird Ihre gespeicherte Desktop-Datei geladen. Wenn der Modus deaktiviert ist, wird sie nicht geladen.
Sie können den Modus dann jederzeit einschalten, um die automatische Speicherung zu aktivieren. Oder Sie können M-x desktop-save
die Speicherung jederzeit manuell durchführen.
Aus der Doc-Zeichenfolge von desktop-save-mode
:
Wenn der Desktop-Speichermodus aktiviert ist, wird der Status von Emacs von einer Sitzung zur nächsten gespeichert. Insbesondere speichert Emacs den Desktop, wenn er beendet wird (dies kann Sie dazu auffordern; siehe die Option „desktop-save“). Wenn dieser Modus aktiv ist, wird beim nächsten Start von Emacs der Desktop wiederhergestellt.
Ja, dieses Design, bei dem automatisches Laden mit automatischem Speichern gekoppelt wird, ist meiner Meinung nach etwas bizarr. Aber es ist nicht das Bizarrste am Design von desktop.el.
Diese Unterscheidung beruht vielmehr auf der Annahme (die in die Signaturen der Funktionen integriert ist), dass es pro Verzeichnis höchstens eine Desktopdatei gibt.
Dass ein Benutzer es praktisch finden könnte, höchstens eine solche Datei pro Verzeichnis zu haben, ist eine Sache. Aber die Funktionen von dieser Annahme abhängig zu machen, ist verrückt.
Schauen Sie sich beispielsweise die Funktion an desktop-read
. Stellen Sie sich dann vor, Sie möchten sie verwenden, um eine Desktop-Datei zu lesen, die sich an einem beliebigen Ort befinden kann, und dabei den absoluten Dateinamen übergeben. Dazu musste ich meine eigene Funktion entwickeln (bmkp-desktop-read
, das einen Dateinamen als Argument verwendet).