Установка auto-mode-alist в emacs - PullRequest
       15

Установка auto-mode-alist в emacs

26 голосов
/ 16 августа 2010

Я заметил, что все текущие записи автоматического режима-списка заканчиваются одинарной кавычкой, например

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

Какова цель одиночной кавычки. Я бы ожидал увидеть

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

Причина, по которой я спрашиваю, состоит в том, что я пытаюсь получить файлы с именами, соответствующими регулярному выражению

^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.

1 Ответ

27 голосов
/ 16 августа 2010

\\ 'соответствует пустой строке в конце строки / буфера:

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))
...