我想为具有特定名称的文件设置自动模式,如下所示:
(add-to-list 'auto-mode-alist '("\\particular-file-name\\'" . some-major-mode))
这似乎可行,但是当有另一个相同文件名的自动模式预设时,预设的似乎具有优先权,而我的设置被忽略了。如何覆盖或禁用预设?特别是,我想让所有文件命名config
为具有某种主要模式,但Conf[Unix]
模式似乎优先于我的设置。
我想为具有特定名称的文件设置自动模式,如下所示:
(add-to-list 'auto-mode-alist '("\\particular-file-name\\'" . some-major-mode))
这似乎可行,但是当有另一个相同文件名的自动模式预设时,预设的似乎具有优先权,而我的设置被忽略了。如何覆盖或禁用预设?特别是,我想让所有文件命名config
为具有某种主要模式,但Conf[Unix]
模式似乎优先于我的设置。
这可能是由于
;;;###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
。但这似乎并不常见。
您的正则表达式中有一个错误,它与正确的正则表达式的文件名(“config”)不匹配
1) 如果你想匹配一个名为 'config' 的文件
"config\\'"
2) 如果要匹配扩展名为 '.config' 的文件
"\\.config\\'"
如果您想知道\'
匹配字符串的结尾。在您的正则表达式中,字符串\\
转换为正则\
表达式中的 a。