specyficzny dla projektu plik inicjujący


10

Mam kilka dostosowań emacsa, których chciałbym użyć w jednym projekcie, ale nie wpływam globalnie na emacsa. Czy jest jakiś sposób, aby emacs ładował określony plik init po uruchomieniu z określonego katalogu lub automatycznie ładował wszystkie pliki init w katalogu, z którego został uruchomiony?

Odpowiedzi:


17

Możesz rzucić okiem na zmienne katalogu . Zasadniczo musisz utworzyć .dir-locals.elplik w katalogu głównym projektu ze wszystkimi ustawieniami specyficznymi dla projektu. Teraz za każdym razem, gdy otwierasz plik w katalogu lub w dowolnym jego podkatalogu, emacs zastosuje ustawienia w .dir-locals.elpliku.

Załóżmy na przykład, że chcesz użyć polecenia make package installas compile tylko w projekcie A, musisz utworzyć plik o nazwie .dir-locals.el w katalogu głównym projektu i dodać coś w stylu:

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

Odtąd za każdym razem, gdy uruchomisz compilepolecenie z dowolnego pliku w katalogu A, domyślnym compile-commandbędzie ten określony powyżej, jednak compile commanddla plików spoza katalogu A pozostanie niezmieniony.


2

Mniej polecaną alternatywą .dir-locals.eljest standard EditorConfig , który zawiera pakiet emacs . Nie obsługuje prawie tylu opcji, pozwala jednak zespołowi na ustandaryzowanie niektórych ustawień i używanie ich w różnych edytorach.

Zachowuje się bardzo podobnie, z .editorconfigplikiem specyficznym dla projektu na najwyższym poziomie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.