Как я могу перезагрузить .emacs после изменения его?

Как я могу заставить Emacs перезагружать все мои определения, в которых я обновил .emacs не перезапуская Emacs?

360
задан D A Vincent 23 April 2015 в 00:28
поделиться

7 ответов

Вы можете использовать команду load-file ( Mx load-file , затем дважды нажмите return, чтобы принять имя файла по умолчанию , который является текущим редактируемым файлом).

Вы также можете просто переместить точку в конец любого sexp и нажать C-x C-e , чтобы выполнить только этот sexp. Обычно нет необходимости перезагружать весь файл, если вы просто меняете одну или две строки.

328
ответ дан 23 November 2019 в 00:15
поделиться

Другие уже ответили на ваш вопрос, но я обнаружил, что обычно хочу выполнить строки, которые я только что написал. для этого CtrlAltx в лиспе работает просто отлично.

11
ответ дан 23 November 2019 в 00:15
поделиться

Если у вас открыт файл .emacs в активном в данный момент буфере:

M-x eval-buffer
38
ответ дан 23 November 2019 в 00:15
поделиться

Следующее должно сделать это ...

M-x load-file
13
ответ дан 23 November 2019 в 00:15
поделиться

Я предлагаю вам не делать этого вначале. Вместо этого запустите новую сессию emacs и проверьте все изменения, которые вы сделали, чтобы убедиться, что они работают правильно. Это делается для того, чтобы не оставить вас в состоянии, когда у вас есть неработоспособный файл .emacs, который не загружается или загружается неправильно. Если вы делаете все свои правки в исходной сессии, а все тестирование - в новой сессии, у вас всегда будет что-то надежное для комментирования неработающего кода.

Когда вы, наконец, будете довольны своими изменениями, тогда продолжайте использовать один из других ответов для повторной загрузки. Я лично предпочитаю eval только ту часть, которую вы добавили/изменили, и для этого просто выделите область добавленного/измененного кода и вызовите M-x eval-region. Это минимизирует код, который оценивается, минимизируя любые непреднамеренные побочные эффекты, как отмечает luapyad.

7
ответ дан 23 November 2019 в 00:15
поделиться
M-x load-file
~/.emacs
27
ответ дан 23 November 2019 в 00:15
поделиться

Обычно вы можете просто повторно оценить измененный регион. Отметьте область ~ / .emacs, которую вы изменили, а затем используйте M-x eval-region RET . Часто это безопаснее, чем повторная оценка всего файла, поскольку легко написать файл .emacs, который не работает сразу после двойной загрузки.

42
ответ дан 23 November 2019 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: