Установка автоматического режима-alist в emacs
Я заметил, что текущие записи auto-mode-alist заканчиваются одной цитатой, например
("\\.java\\'" . java-mode)
Какова цель одиночной кавычки. Я бы ожидал увидеть
("\\.java$" . java-mode)
Я спрашиваю, что я пытаюсь получить файлы с именами, соответствующими regexp
^twiki\.corp.*
для открытия в org-режиме. Я пробовал следующее без успеха:
(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
\\ 'соответствует пустой строке в конце строки/буфера:
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))