我想为具有如下特定名称的文件设置自动模式:
(add-to-list 'auto-mode-alist '("\\particular-file-name\\'" . some-major-mode))
这似乎有效,但是当同一个文件名有另一个自动模式预设时,预设的一个似乎有优先权,我的设置被忽略。如何覆盖或禁用预设?特别是,我希望所有名为config
的文件都具有某种主要模式,但Conf[Unix]
模式似乎优先于我的设置。
答案 0 :(得分:1)
可能由于
而发生;;;###autoload
(add-to-list 'auto-mode-alist '(...))
在major-mode el文件中。自动加载说明在~/.emacs
之后进行评估。
您可以尝试在after-init-hook
(add-hook 'after-init-hook
(function (lambda()
(add-to-list 'auto-mode-alist '(...)))))
当;;;###autoload
用户追加他们的条目auto-mode-list
(设置add-to-list
的 APPEND 选项)时,可能会更好。但这似乎并不常见。
答案 1 :(得分:0)
你的正则表达式中有一个错误,它与文件名(“config”)不匹配正确的正则表达式
1)如果要匹配名为“config”的文件
"config\\'"
2)如果要匹配扩展名为“.config”的文件
"\\.config\\'"
如果您想知道\'
匹配字符串的结尾。在正则表达式中,字符串\\
会转换为正则表达式中的\
。