如何让emacs将.m文件识别为Matlab文件,而不是Objective-C文件?

chi*_*ro2 5 emacs matlab dot-emacs

关于Matlab的我的.emacs文件如下:

;; Matlab mode
(autoload    'matlab-mode "matlab" "Matlab Editing Mode" t)
(setq matlab-indent-function t)
(setq matlab-shell-command "matlab")
Run Code Online (Sandbox Code Playgroud)

但是当我打开一个Matlab文件时,我发现我处于Objective-C模式.由于我不打算尽快编写Objective-C,如何在Matlab模式下默认所有.m文件?

Ina*_*thi 7

你的评论说你已经解决了这个问题.有些东西告诉我你是通过添加来做到的

(add-to-list 'auto-mode-alist '("\\.m" . matlab-mode))
Run Code Online (Sandbox Code Playgroud)

到你的.emacs.我已经有很多这样的东西洒在我刚刚为它写了一个方便的宏:

(defmacro by-extension (ext mode)
  `(add-to-list 'auto-mode-alist '(,(format "\\.%s" ext) . ,mode)))
Run Code Online (Sandbox Code Playgroud)

这让我写的东西像

(by-extension "m" matlab-mode)
Run Code Online (Sandbox Code Playgroud)