Я знаю, что мы можем запустить emacs без открытия файлов и статуса последней сессии, запустить его с помощью:
emacs --no-desktop
Но как нам это сделать в файле init.el
?
Я знаю, что мы можем запустить emacs без открытия файлов и статуса последней сессии, запустить его с помощью:
emacs --no-desktop
Но как нам это сделать в файле init.el
?
Просто убедитесь, что desktop-save-mode
отключен в вашем файле инициализации.
Если при запуске Emacs включен режим, загруженный вами файл рабочего стола загружается. Если режим выключен, он не загружается.
Затем вы можете включить режим в любое время, чтобы включить автоматическое сохранение. Или вы можете просто использовать M-x desktop-save
чтобы сохранить его вручную в любое время.
Из строки документа desktop-save-mode
:
Когда включен режим сохранения рабочего стола, состояние Emacs сохраняется от одного сеанса к другому. В частности, Emacs сохранит рабочий стол при выходе из системы (это может подсказать вам; см. Опцию «desktop-save»). При следующем запуске Emacs, если этот режим активен, он восстановит рабочий стол.
Да, эта конструкция автоматической загрузки в сочетании с автоматическим сохранением немного странна, ИМХО. Но это не самая странная вещь в дизайне desktop.el.
Это различие относится к предположению (встроенному в сигнатуры функций), что в каталоге имеется не более одного файла рабочего стола.
То, что пользователю может быть удобно иметь не более одного такого файла в каталоге, - это одно. Но сделать так, чтобы функции зависели от этого предположения, просто чокнутый.
Взгляните, например, на функцию desktop-read
. Затем представьте, что вы хотите использовать его для чтения файла рабочего стола, который может находиться где угодно, передавая абсолютное имя файла. Мне пришлось свернуть свою собственную функцию, чтобы сделать это (bmkp-desktop-read
, который принимает имя файла в качестве аргумента).