一千萬個為什麽

搜索

在Emacs中使用主要模式進入次要模式

這個問題可能與這個問題,但我無法讓以下內容在我的emacs中正常工作。

每當我進入主模式 matlab-mode 時,我都會嘗試進入次模式 mlint-mode (兩種模式都可以在他們的SourceForge頁面)。我的.emacs文件中有以下內容:

(add-hook 'matlab-mode-hook
      (function (lambda()
                  (mlint-mode))))

這看起來像我上面鏈接的問題的答案。打開 .m 文件時,出現以下錯誤:

文件模式指定錯誤:(void-function mlint-mode)

當我打開 .m 文件時,有人可以協助我幫助我編寫正確的鉤子以輸入 mlint-mode 嗎? FWIW,我正在運行emacs 23.1.50.1。

最佳答案

我認為正確的名稱是 mlint-minor-mode 。另外,請記住確保Emacs知道所有matlab內容,這可以通過以下方式完成:

(require 'matlab-load)

作為旁註,在鉤子中使用lambda函數通常是個壞主意。如果你檢查鉤子的值,你會看到許多無關的東西。此外,如果您修改lambda表達式並重新添加它,舊版本和新版本都將處於掛鉤狀態。

相反,你可以這樣做:

(defun my-matlab-hook ()
   (mlint-minor-mode 1))
(add-hook 'matlab-mode-hook 'my-matlab-hook)

“1”確保打開mlint模式,或者如果先前啟用則保持打開狀態。

轉載註明原文: 在Emacs中使用主要模式進入次要模式