Как я могу перезагрузить .emacs после его изменения? - PullRequest
352 голосов
/ 05 апреля 2010

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

Ответы [ 18 ]

6 голосов
/ 11 августа 2012
C-x C-e ;; current line
M-x eval-region ;; region
M-x eval-buffer ;; whole buffer
M-x load-file ~/.emacs.d/init.el
4 голосов
/ 29 марта 2016

Я сейчас на Ubuntu 15.04; Мне нравится определять ключ для этого.
[M-insert] переводится как alt-insert на моей клавиатуре.
Поместите это в свой файл .emacs:

(global-set-key [M-insert] '(lambda() (interactive) (load-file "~/.emacs")))
3 голосов
/ 12 июля 2012

Определите его в вашем файле инициализации и вызовите M-x reload-user-init-file

(defun reload-user-init-file()
  (interactive)
  (load-file user-init-file))
2 голосов
/ 11 июля 2017

Помимо команд, таких как M-x eval-buffer или M-x load-file , вы можете перезапустить свежий emacs из командной строки:

emacs -q --load "init.el"

Пример использования stackoverflow.com / questions / 44959535 / company-backends-in-gnu-emacs /

2 голосов
/ 08 апреля 2016

Вот быстрый и простой способ быстрого тестирования вашей конфигурации.Вы также можете использовать C-x C-e в конце определенного lisp для отдельного выполнения определенной функции.

Cx Ce запускает команду eval-last-sexp (находится в global-map), которая является интерактивнойскомпилированная функция Lisp.

Он связан с Cx Ce.

(eval-last-sexp EVAL-LAST-SEXP-ARG-INTERNAL)

Оценить sexp до точки;вывести значение в области эха.Интерактивно, с префиксным аргументом, печатает вывод в текущий буфер.

Обычно эта функция усекает длинный вывод в соответствии со значением переменных 'eval-expression-print-length' и 'eval-expression-print-level».Однако с нулевым аргументом префикса такого усечения нет.Такой префиксный аргумент также приводит к тому, что целые числа печатаются в нескольких дополнительных форматах (восьмеричный, шестнадцатеричный и символьный).

Если 'eval-expression-debug-on-error' не ноль, что является значением по умолчаниюэта команда организует все ошибки для входа в отладчик.

2 голосов
/ 02 ноября 2011

Хотя M-x eval-buffer будет работать, вы можете столкнуться с проблемами с переключателями и другими подобными вещами. Лучшим подходом может быть «пометить» или выделить что-то новое в вашем .emacs (или даже в чистом буфере, если вы просто возитесь) и затем M-x eval-region. Надеюсь, это поможет.

1 голос
/ 08 июня 2017

Вы можете установить привязку клавиш для emacs следующим образом

;; reload emacs configuration
(defun reload-init-file ()
  (interactive)
  (load-file "~/.emacs"))

(global-set-key (kbd "C-c r") 'reload-init-file) 

Надеюсь, это поможет!

0 голосов
/ 06 февраля 2017

Если у вас внутри Emacs открыта оболочка, вы также можете сделать:

. ~/.emacs

Может сохранить несколько нажатий клавиш.

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