2

我想为具有特定名称的文件设置自动模式,如下所示:

(add-to-list 'auto-mode-alist '("\\particular-file-name\\'" . some-major-mode))

这似乎可行,但是当有另一个相同文件名的自动模式预设时,预设的似乎具有优先权,而我的设置被忽略了。如何覆盖或禁用预设?特别是,我想让所有文件命名config为具有某种主要模式,但Conf[Unix]模式似乎优先于我的设置。

4

2 回答 2

3

这可能是由于

;;;###autoload
(add-to-list 'auto-mode-alist '(...))

在主模式 el 文件中。自动加载指令在~/.emacs.

您可以尝试在after-init-hook

(add-hook 'after-init-hook
      (function (lambda()
          (add-to-list 'auto-mode-alist '(...)))))

;;;###autoload用户将他们的条目附加auto-mode-list到(设置APPEND选项)可能会更好add-to-list。但这似乎并不常见。

于 2016-03-11T21:05:10.823 回答
0

您的正则表达式中有一个错误,它与正确的正则表达式的文件名(“config”)不匹配

1) 如果你想匹配一个名为 'config' 的文件

"config\\'"

2) 如果要匹配扩展名为 '.config' 的文件

"\\.config\\'"

如果您想知道\'匹配字符串的结尾。在您的正则表达式中,字符串\\转换为正则\表达式中的 a。

于 2014-02-28T12:22:40.903 回答