file init specifico del progetto


10

Ho alcune personalizzazioni per emacs che mi piacerebbe usare per un singolo progetto, ma non influiscono su emacs a livello globale. Posso fare in modo che emacs carichi un file init specifico quando viene avviato da una determinata directory o carica automaticamente tutti i file init nella directory da cui è stato avviato?

Risposte:


17

Potresti dare un'occhiata alle variabili della directory . Fondamentalmente dovrai creare un .dir-locals.elfile nella radice del tuo progetto con tutte le impostazioni specifiche del progetto al suo interno. Ora ogni volta che apri un file nella directory o in una delle sue sottodirectory emacs applicherà le impostazioni nel .dir-locals.elfile.

Ad esempio, supponiamo che tu voglia usare il make package installcomando come compilare solo nel progetto A, dovrai creare un file chiamato .dir-locals.el nella directory principale del progetto e aggiungere qualcosa di simile al seguente

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

D'ora in poi ogni volta che si esegue un compilecomando da qualsiasi file nella directory A, il valore predefinito compile-commandsarà quello specificato sopra, tuttavia i compile commandfile all'esterno della directory A rimarranno invariati.


2

Un'alternativa a meno funzioni.dir-locals.el è lo standard EditorConfig , che ha un pacchetto emacs . Non supporta quasi tutte le opzioni, tuttavia consente a un team di persone di standardizzare alcune impostazioni e utilizzarle in diversi editor.

Si comporta allo stesso modo, con un .editorconfigfile specifico del progetto al livello più alto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.