我正在开发a mode for Emacs ,每次我切换到它的缓冲区时,viper 就会打开。我已将 viper-mode 修改为 trace其中 viper-mode 被调用,令人惊讶的是通过运行 viper-post-command-hooks 来调用 set-viper-state-in-major-mode ,设置为零。知道发生了什么吗?
谢谢!
<小时/>编辑:为了众生的利益,我发现以下内容:按照 Trey 的指示,我使用 -Q 启动 emacs 并手动加载 viper 和我的包。由于我可以重现该错误,因此问题出在其中一个包上。经过逐行过滤后,我发现问题是由看似无害的(kill-all-local-variables)引起的。
最佳答案
初始化过程中有一些问题导致了这个问题。
首先尝试在没有 .emacs
emacs -q 的情况下启动。如果问题仍然存在,则触发器位于 site-start.el
中。因此,请与安装 Emacs 的人交谈并让他们删除那里的自定义设置。您还可以始终使用 -Q 启动选项来避免加载 site-start.el
。
如果问题不在 site-start.el
中,并且您认为问题不在 .emacs
中,则可能是在自定义 中>default.el
文件,您可以通过添加以下内容来阻止加载该文件:
(setq inhibit-default-init t)
到您的.emacs
。
如果您仍然遇到问题,那么我 99% 确定问题出在您的 .emacs 中。
为了 100% 确定,请尝试 emacs -Q,它运行没有任何自定义的 Emacs。如果问题仍然存在,请下载并安装您自己的 Emacs,因为您肯定无法信任您正在使用的安装。
所以,现在,如果您确信它在您的 .emacs
中,请开始删除 .emacs
的部分内容,或者在您的 中引入错误。 emacs
与 (error "frog")
,并逐步排除 .emacs
的哪些部分导致了问题。
祝你好运
关于emacs - 如何让 emacs 停止加载 viper 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5671743/