Setting auto-mode-alist in emacs

六眼飞鱼酱① 提交于 2019-11-29 01:46:09

问题


I notice that the current auto-mode-alist entries all end with a single quote, for example

 ("\\.java\\'" . java-mode)

What is the purpose of the single quote. I would have expected to see

 ("\\.java$" . java-mode)

The reason I ask is that I am trying to get files with names matching regexp

^twiki\.corp.* 

to open in org-mode. I have tried the following without success:

(add-to-list 'auto-mode-alist '("^twiki\\.corp" . org-mode))
(add-to-list 'auto-mode-alist '("\\'twiki\\.corp" . org-mode))

The following works:

(add-to-list 'auto-mode-alist '("twiki\\.corp" . org-mode))

but is not quite what I want since file names with twiki.corp embedded in them will be opened in org-mode.


回答1:


\\' matches the empty string at the end of the string/buffer:

http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Backslash.html e l

$ will match the end of the line: If you have newlines in your filename (very uncommon) $ will match the newline and not the end of the string.

The regex is matched against the whole filename, so you need include "/" to match the directory seperator:

(add-to-list 'auto-mode-alist '("/twiki\\.corp" . org-mode))


来源:https://stackoverflow.com/questions/3494402/setting-auto-mode-alist-in-emacs

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!