我在一些主要模式下有一个缓冲区,而在另一个缓冲区有一个模式文件本身(* .el)。编辑* .el文件后,我想查看第一个缓冲区中反映的更改,而无需重新启动emacs。我试图运行-mode函数,但它并没有改变缓冲区。 谢谢如何重新加载emacs主模式?
回答
当您编辑模式的源代码时,您必须确保您评估您更改的功能 - 将它们单独保存到文件是不够的,因为内部Emacs仍将使用旧代码。例如,您可以跳到使用M-C-e处理的函数定义的末尾,并使用C-x C-e评估函数。从那时起,Emacs将使用当前的定义。
这也适用于模式定义,但是通常情况下,使用Mx模式名称调用模式的操作实现为切换:您只需调用一次,即可激活该模式,再次调用该模式,取消激活该模式。所以你可能必须做两次M-x模式名称。
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
注意:当你lo在defvar
不会覆盖现有值,因此如果您将呼叫中的值更改为defvar
,则需要通过执行CMx来确定这些值是否为devfar
表达式,或者使用devfar
表达式Mx:并在表达式中输入。有关评估Emacs中的lisp的文档,请参阅this page。使用(provide 'foo-mode)
那么你可以
M-x unload-feature RET foo-mode RET
,然后再加载模式为正常(使用foo-mode
如果你有一个适当的自动加载,或使用load-library
而不是切换模式,您也可以做'Mx正常模式' – scottfrazer 2010-12-06 02:15:46
如果你的模式提供了一个功能(因为它应该!)或否则为load-file
)。
我以前没见过这个。该文档指出,如果存在需要该功能的其他加载代码,则会引发错误,但您可以使用前缀arg强制卸载。 – phils 2010-12-06 02:58:47
- 1. 如何仅以Emacs Haskell模式重新加载当前文件
- 2. emacs自动加载模式
- 3. 灰烬重新加载卸载模式
- 4. emacs如何应用主模式?
- 5. Emacs:添加主机名到模式行?
- 6. 重新加载emacs中的Clojure文件
- 7. VSCode。如何在编辑样式后重新加载主题
- 8. 如何重新加载python子模块?
- 9. Emacs c模式自动加载失败
- 10. Emacs加载路径scala模式
- 11. 重新加载模式确认功能
- 12. 如何让Emacs自动重新加载标签文件?
- 13. 如何在Emacs次要模式下重新绑定TAB和RET?
- 14. 如何在Emacs中重新设置CUA模式的密钥集?
- 15. 重新加载配置而不重新启动Emacs
- 16. 如何加速Emacs DocView模式?
- 17. 如何让emacs停止加载毒蛇模式?
- 18. 重新加载Python模块
- 19. grails emacs模式 - “无法打开加载文件”“项目模式”
- 20. emacs如何加载包?
- 21. 如何重新加载TreeStore?
- 22. 如何重新加载UIView?
- 23. 如何重新加载JCarousel
- 24. 如何重新加载div
- 25. 如何重新加载NSFetchedResultsController?
- 26. 如何重新加载DataContext?
- 27. 如何重新加载UIWebView?
- 28. 如何重新加载recycleview?
- 29. 如何重新加载UIView?
- 30. NSManagedObject如何重新加载
对于(重新)评估elisp的所有不同方式,请参阅http://www.masteringemacs.org/articles/2010/11/29/evaluating-elisp-emacs/ – phils 2010-12-06 03:01:38