файл init, специфічний для проекту


10

У мене є кілька налаштувань для emacs, які я хотів би використовувати для одного проекту, але не впливати на emacs в усьому світі. Чи є спосіб, щоб я міг змусити Emacs завантажувати певний файл init при запуску з певного каталогу або автоматично завантажувати всі файли init у каталог, з якого він запускався?

Відповіді:


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.