У меня есть буфер в каком-то основном режиме, а в другом буфере - сам файл режима (* .el). После того, как я отредактирую файл * .el, я хочу увидеть изменения, отраженные в первом буфере, без перезапуска emacs. Я попытался запустить функцию -mode, но не изменил буфер. СпасибоКак перезагрузить основной режим emacs?
ответ
Когда вы редактируете источник режима, вы должны убедиться, что вы оцениваете функции, которые вы меняете, - сохранить их в одном файле недостаточно, потому что внутри Emacs все равно будет использовать старый код.
Например, вы можете перейти к концу определения функции, с которой работаете с M-C-e, и оценить функцию с помощью C-x C-e. С этого момента Emacs будет использовать текущее определение.
Это также относится к определению режима, но часто при вызове режима с Mx-именем режима реализовано в виде переключателя: вы вызываете его один раз, он активирует режим, вы вызываете его снова, он деактивирует режим , Поэтому вам, возможно, придется дважды нажать M-x mode-name.
M-x load-file your-mode.el
или
M-x eval-buffer
Затем переключить поведение и выключается в буфере, по-видимому, делая
M-x your-mode
M-x your-mode
Или, если ваш режим распознает префикс аргумент
C-u 1 M-x your-mode
Примечание: Когда вы l опускание файла, defvar
не отменяет существующие значения, поэтому, если вы измените значения в вызове на defvar
, вам нужно будет их оценить конкретно, выполнив CMx, когда ваш курсор находится в выражении devfar
, или используя Mx: и набрав в выражении. См. this page для документации по оценке lisp в Emacs.
Вместо переключения режима вы также можете do `Mx normal-mode` – scottfrazer 2010-12-06 02:15:46
Если режим обеспечивает функцию (как это необходимо!) С помощью (provide 'foo-mode)
, то вы можете
M-x unload-feature RET foo-mode RET
, а затем загрузить режим снова в обычном режиме (с помощью foo-mode
, если у вас есть соответствующая автозагрузка, или с помощью load-library
или load-file
).
Я этого раньше не видел. В документации отмечается, что это вызовет ошибку, если есть другой загруженный код, который требует этой функции, но вы можете принудительно выгрузить с помощью префикса arg. – phils 2010-12-06 02:58:47
- 1. Редактировать текущий основной режим emacs
- 2. Основной режим GLSL для Emacs?
- 3. emacs lisp, как получить основной режим буфера?
- 4. Emacs основной режим для изумруда. Правильное выделение
- 5. Emacs Добавление препроцессора в основной режим
- 6. Как добавить функцию вертикального выравнивания в основной режим для Emacs
- 7. Emacs: Как использовать основной режим для нестандартного расширения файлов
- 8. Режим сценария Emacs JavaFX?
- 9. Emacs autocomplete: добавить существующий словарь в основной режим
- 10. Emacs основной режим для Mathematica на основе куб.сма режима
- 11. Emacs: Почему основной режим не установлен правильно, когда файл открыт?
- 12. emacs режим для snakemake?
- 13. Как установить режим MATLAB в GNU Emacs?
- 14. Как написать режим emacs для нового языка?
- 15. Как работает режим Emacs ORG?
- 16. Как настроить режим Emacs «Spc»?
- 17. Как запустить специальный режим с помощью emacs?
- 18. Режим Saltstack для emacs
- 19. Режим настройки в emacs
- 20. Emacs питон режим
- 21. Режим очков в Emacs
- 22. Постоянный режим складывания Emacs
- 23. emacs scratch неинтерактивный режим
- 24. ярусный режим в Emacs
- 25. PHP режим для Emacs
- 26. Как заставить Emacs перезагрузить файл TAGS автоматически?
- 27. Режим Emacs multiline
- 28. Emacs автоматический режим завершения
- 29. Режим Emacs для R?
- 30. Режим ExtJS для Emacs
Для всех различных способов (повторной) оценки elisp см. Http://www.masteringemacs.org/articles/2010/11/29/evaluating-elisp-emacs/ – phils 2010-12-06 03:01:38