在emacs中设置auto-mode-alist

时间:2010-08-16 15:02:31

标签: emacs elisp

我注意到当前的auto-mode-alist条目都以单引号结尾,例如

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

单引号的目的是什么?我原本希望看到

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

我问的原因是我试图获取名称与regexp

匹配的文件
^twiki\.corp.* 

以组织模式打开。我没有成功尝试以下内容:

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

以下作品:

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

但不是我想要的,因为嵌入了twiki.corp的文件名将以org-mode打开。

1 个答案:

答案 0 :(得分:27)

\\'匹配字符串/缓冲区末尾的空字符串:

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

$将匹配行尾:如果您的文件名中有换行符(非常罕见),$将匹配换行符而不是字符串的结尾。

正则表达式与整个文件名匹配,因此您需要包含“/”以匹配目录分隔符:

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