Как определить основной режим Emacs над #!
Я определил режим Python, который я хотел бы использовать для всех файлов.py. В том числе:
(add-to-list 'auto-mode-alist '("\\.py\\'" . my-python-mode))
правильно использует мой режим во всех файлах, заканчивающихся на.py, если этот файл не начинается с
#! /usr/bin/env python
какие файлы я работаю с. Как я могу сделать так, чтобы my-python-mode предпочитал режим python, который по умолчанию использует emacs?
1 ответ
Из руководства по emacs вам также необходимо обновить интерпретатор mode-alist
Есть запись
("python" . python-mode)
Также здесь можно добавить адд-лист
Во-вторых, если нет файловой переменной, задающей основной режим, Emacs проверяет, начинается ли содержимое файла с "#!". Если это так, это означает, что файл может служить в качестве исполняемой команды оболочки, которая работает, выполняя интерпретатор, названный в первой строке файла (остальная часть файла используется в качестве входных данных для интерпретатора). Поэтому Emacs пытается использовать имя интерпретатора для выбора режима. Например, файл, начинающийся с '#!/ Usr/bin/perl', открывается в режиме Perl. Переменная интерпретатор-mode-alist определяет соответствие между именами программ интерпретатора и основными режимами.