как я могу записать как комментарий в файле, режим, что этот конкретный файл должен быть открыт с в emacs? например, предположите, что у меня есть сценарий, названный "нечто". В теле нечто я хотел бы поместить что-то как:
# sh-mode
# rest of my script here...
к emacs, что "sh-режим" должен использоваться, когда "нечто" открыто в emacs. Отметьте, я не хочу делать это расширением файла от .emacs. Точка здесь - то, что имя файла "нечто" не говорит, какой файл это - я хочу, чтобы это было определено из самого файла. Существует ли способ сделать это?
Спасибо.
Я обычно добавляю что-то вроде:
# -*- mode: sh -*-
вверху файла. См. документацию по emacs для получения дополнительной информации.
Обратите внимание, что Emacs также правильно определит тип файла, если первая строка - это хэш-банг комментарий, например,
#!/bin/sh
Также см. Magic-mode-alist.
magic-mode-alist is a variable defined in `files.el'.
Documentation:
Alist of buffer beginnings vs. corresponding major mode functions.
Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION).
After visiting a file, if REGEXP matches the text at the beginning of the
buffer, or calling MATCH-FUNCTION returns non-nil, `normal-mode' will
call FUNCTION rather than allowing `auto-mode-alist' to decide the buffer's
major mode.
If FUNCTION is nil, then it is not called. (That is a way of saying
"allow `auto-mode-alist' to decide for these files.")
вы можете указать локальную переменную файла, которую emacs использует в первой или второй строке любого файла (и других).
Подробнее см .: http://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html#Specifying-File-Variables
Итак, для вашего случай, который можно использовать:
# -*- mode: sh; -*-
Наслаждайтесь!