如何防止 emacs 在啟動時載入已儲存的桌面?

如何防止 emacs 在啟動時載入已儲存的桌面?

我知道我們可以在不開啟上次會話的檔案和狀態的情況下啟動 emacs,透過以下方式啟動它:

emacs --no-desktop

但是我們如何在init.el文件中做到這一點呢?

答案1

只需確保desktop-save-mode在您的初始化文件中將其關閉即可。如果 Emacs 啟動時開啟該模式,則會載入您儲存的桌面檔案。如果模式關閉,則不會載入。

然後,您可以隨時開啟該模式,以啟用自動儲存。或者您可以M-x desktop-save隨時手動儲存。

從文件字串desktop-save-mode

啟用桌面儲存模式後,Emacs 的狀態將從一個會話儲存到另一個會話。特別是,Emacs 將在退出時保存桌面(這可能會提示您;請參閱「桌面儲存」選項)。 下次 Emacs 啟動時,如果此模式處於活動狀態,它將恢復桌面。


是的,這種自動加載與自動保存相結合的設計有點奇怪,恕我直言。但這還不是desktop.el 設計中最奇怪的事。

這個區別屬於這樣的假設(內置於函數的簽名中):每個目錄最多有一個桌面檔案。

使用者可能會發現每個目錄最多有一個這樣的檔案很方便是一回事。但讓函數依賴這個假設是瘋狂的。

例如,看一下 function desktop-read。然後想像一下,您想使用它來讀取可能位於任何位置的桌面文件,並傳遞絕對文件名稱。我必須推出自己的函數才能做到這一點(bmkp-desktop-read,它採用檔名作為參數)。

相關內容