специфичный для проекта файл инициализации


10

У меня есть некоторые настройки для emacs, которые я хотел бы использовать для одного проекта, но не влиял на emacs глобально. Можно ли как-нибудь заставить emacs загрузить определенный файл инициализации при запуске из определенного каталога или автоматически загрузить все файлы инициализации в каталоге, из которого он был запущен?

Ответы:


17

Возможно, вы захотите взглянуть на переменные каталога . По сути, вам нужно создать .dir-locals.elфайл в корневом каталоге вашего проекта со всеми настройками проекта. Теперь, когда вы открываете файл в каталоге или любом из его подкаталогов, emacs будет применять настройки в .dir-locals.elфайле.

Например, предположим, что вы хотите использовать команду make package installas compile только в проекте A, вам нужно создать файл с именем .dir-locals.el в корневом каталоге проекта и добавить что-то вроде следующего

((nil . ((compile-command . "make package install"))))

Отныне всякий раз, когда вы запускаете compileкоманду из любого файла в каталоге A, по умолчанию compile-commandбудет тот, который указан выше, однако compile commandдля файлов за пределами каталога A останется нетронутым.


2

Менее функциональной альтернативой .dir-locals.elявляется стандарт EditorConfig , который имеет пакет emacs . Он не поддерживает почти столько же параметров, но позволяет команде людей стандартизировать некоторые параметры и использовать их в разных редакторах.

Он ведет себя примерно так же, с .editorconfigфайлом конкретного проекта на верхнем уровне.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.