此问题可能与 this question 重复,但我无法让以下内容在我的 emacs 中正常工作。
我正在尝试进入次要模式 mlint-mode
每当我进入主模式matlab-mode
(两种模式均可在 their SourceForge page 获得)。我的 .emacs 文件中有以下内容:
(add-hook 'matlab-mode-hook
(function (lambda()
(mlint-mode))))
这看起来像是我上面链接的问题的答案。打开
.m
时文件,我收到以下错误:File mode specification error: (void-function mlint-mode)
有人可以帮我写正确的钩子(Hook)进入
mlint-mode
当我打开 .m
文件? FWIW,我正在运行 emacs 23.1.50.1。
最佳答案
我认为正确的名称是mlint-minor-mode
.另外,请记住确保 Emacs 知道所有 matlab 内容,这可以使用以下方法完成:
(require 'matlab-load)
附带说明一下,在 Hook 中使用 lambda 函数通常是个坏主意。如果你检查钩子(Hook)的值,你会看到很多不相关的东西。此外,如果您修改您的 lambda 表达式并重新添加它,旧版本和新版本都将陷入困境。
相反,您可以执行以下操作:
(defun my-matlab-hook ()
(mlint-minor-mode 1))
(add-hook 'matlab-mode-hook 'my-matlab-hook)
“1”确保 mlint 模式已打开或如果较早启用则保持打开状态。
关于emacs - 在 Emacs 中使用主要模式进入次要模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7421445/