Сброс определений и перезагрузка .emacs без закрытия, или перезапуск Emacs и повторное открытие буферов - PullRequest
19 голосов
/ 05 октября 2011

Насколько я понимаю, следующая последовательность команд

M-x load-file ENTER
~/.emacs
ENTER

перезагрузит мой файл .emacs.Однако из того, что я читал на других форумах, они не гарантируют мне полностью пересмотренную конфигурацию, то есть заставят Emacs проанализировать новый файл конфигурации и перезагрузить измененные определения переменных и функций, но они не будут удалять ранее загруженные определения,

При этом мои вопросы таковы:

  1. Возможно ли очистить определения Emacs в памяти и перезагрузить .emacs без необходимости полного перезапуска Emacs?
  2. Если вышеописанное невозможно, есть ли способ перезапустить Emacs (чтобы я анализировал мой файл .emacs с нуля), попросив его заново открыть все открытые мной буферы?

Ответы [ 2 ]

11 голосов
/ 05 октября 2011

Отмена всего, что могло быть сделано в вашем .emacs, невозможно.

Вы можете сохранить и восстановить сеанс emacs с помощью desktop. Выйдите с помощью M-x desktop-save RET C-x C-c, а затем восстановите с помощью emacs -f desktop-read.

См. (info "(emacs) Saving Emacs Sessions") для получения дополнительной информации. (Вы также можете customize desktop-save-mode, чтобы это поведение было по умолчанию.)

5 голосов
/ 05 октября 2011

Этот вопрос является дубликатом, но, поскольку он имеет принятый ответ, я повторю свои комментарии о библиотеке рабочего стола, которая заключается в том, что она хранит определенное количество состояний (режимов и локальных переменных) с каждым сохраняемым буфером, и затем восстанавливает то же состояние при перезагрузке этих файлов.

В вашем случае, конечно, это именно то, чего вы не хотите достичь.

См. Перезагрузка .emacs для всех активных буферов для простого способа вернуть (перезагрузить) все буферы.

Сочетание двух подходов позволит вам перезапустить Emacs, а Desktop восстановит файлы, после чего вы сможете восстановить все файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...