Як автоматично завантажувати режим для певного набору розширень файлів?


19

Я хотів би завантажити yaml-modeфайли для будь-яких файлів з ім'ям *.ymlабо *.yaml.


7
Прочитайте Elisp вручну, вузолAuto Major Mode , і ви зможете відповісти на своє запитання: auto-mode-alist. О, я бачу, ви зробили це через 10 секунд після того, як ви поставили запитання. Можливо, не дуже гарна ідея перекачувати питання та відповіді з посібника. Але я здогадуюсь, це питання, яке виникне у людей, і відповідь допоможе їм. Шкода, що вони дізнаються це саме так, замість того, щоб навчитися йому від самого Emacs. Краще навчити людей, як знайти такі відповіді, ІМО.
Дрю

1
Сміливо додайте це як відповідь. Я задав це питання, оскільки це було одне, що я вирішував у минулому, і воно було дуже схожим на запропоноване питання у списку area51.
b4hand

1
Без проблем. Вибачте, якщо я звучав негативно. Як я вже говорив, питання і відповідь буде допомагати людям.
Дрю

Що варто, це дуже схоже на питання, яке було задано під час фази пропозиції щодо area51: area51.stackexchange.com/proposals/76571/emacs/76640#76640
b4hand

Немає нічого поганого в тому, щоб задати таке питання. Мій коментар спочатку був лише першим реченням. ІМО, людям корисно вперше запитувати Emacs про себе, а другий запитувати SE. Emacs є дещо особливим, що допомагає користувачам таким чином - це не ваша середня тема SE. Але користувачам часто потрібна допомога навчитися запитувати Emacs.
Дрю

Відповіді:


16

Додайте до .emacsфайлу ці рядки :

(require 'yaml-mode)
(add-to-list 'auto-mode-alist '("\\.ya?ml\\'" . yaml-mode))

Це auto-mode-alistзмінна, яка emacs звертається під час відкриття нового файлу. Ви можете додати відображення між шаблонами імен файлів та основними режимами.

Ви можете дізнатися більше про те, як Emacs визначає, які режими завантажувати для певного буфера з посібника з Emacs .


4
"\\. ya? ml \\ '" є кращою формою, оскільки це дійсно кінець рядка, а не новий рядок. Насправді це має значення для файлів, які мають своє ім'я у новому рядку ... 'foo.yaml \ nc' справді має бути файлом C, а не файлом yaml (так, це навряд чи це колись станеться, але все ж)
Сигма

2
Було б корисно, якщо ви також зв’яжете посібник із emacs, де надана ця інформація.
Тревок

Також (require 'yaml-mode)непотрібно, якщо режим завантажується автоматично (що майже завжди буває). Бібліотека буде автоматично завантажена, коли ви відкриєте файл із правильним розширенням.
shosti

Оскільки він yaml-modeбув встановлений як пакет, мені точно була потрібна (require 'yaml-mode)лінія; в іншому випадку, я хотів би бачити наступне повідомлення про помилку: File mode specification error: (void-function yaml-mode).
b4hand
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.