Режим сценария оболочки автоматически при каждом запуске emacs - PullRequest
0 голосов
/ 19 февраля 2020

Каждый раз, когда я редактирую скрипт bash, я набираю команду M-x shell-script-mode. И тогда я получаю хороший выделение кода оболочки. Как получить его автоматически каждый раз, когда я запускаю emacs, поэтому мне не нужно вводить команду. Когда я добавил (shell-script-mode) к init.el, это не помогло.

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

Вы можете установить основной режим по умолчанию на любой, добавив

(setq-default major-mode 'shell-script-mode)

в файл инициализации. Это гарантирует, что любой вновь созданный буфер будет в shell-script-mode, если его режим не указан иначе (например, через auto-mode-alist). Является ли это хорошей идеей или нет, я не знаю: я, вероятно, не хотел бы, чтобы это было моей настройкой по умолчанию, но для каждой ее / его собственной.

1 голос
/ 20 февраля 2020

Один из самых простых способов заставить Emacs установить желаемый режим для буфера, редактирующего файл, состоит в том, чтобы включить специальный комментарий в первую строку этого файла, например, для сценария оболочки, в котором ваша первая строка может быть:

# -*-sh-*-

Для сценариев также часто, и часто даже требуется, иметь комментарий к файлу интерпретатора в самой первой строке файла, что, конечно, исключает наличие комментария в режиме Emacs, поэтому Emacs также ищет комментарии к файлу интерпретатора и связывает их с основным режимом, поэтому первая строка вашего сценария оболочки может быть такой:

#!/bin/sh

Есть несколько других способов сообщить Emacs, как установить буферный режим при посещении файла. См., Например, Emacs Manual: Выбор режимов файла

...