我知道我們可以在不開啟上次會話的檔案和狀態的情況下啟動 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,它採用檔名作為參數)。


