Wie kann ich den Kompilierungsbefehl anpassen?


8

In einem meiner Projekte muss ich make package installbeim Bauen statt ausführen make. Es merkt sich den letzten Kompilierungsbefehl, den ich verwendet habe, wird jedoch bei make -kjedem Start von emacs zurückgesetzt. Wie kann ich die M-x compileStandardeinstellung anpassen make package install?


Was ist der Wert von compilation-read-command? Wenn diese Variable auf einen Nichtwert gesetzt nilist, M-x compilesollten Sie aufgefordert werden, den Kompilierungsbefehl zu verwenden. Alternativ können Sie tun C-u M-x compile; In diesem Fall werden Sie unabhängig vom Wert von zur Eingabe des Befehls aufgefordert compilation-read-command.
Itsjeyd

1
Es ist auf t eingestellt. Es erlaubt mir zwar, den Befehl vor dem Ausführen zu bearbeiten, aber ich möchte die Standardeinstellungen ändern
Connor

Aha. Gepostet den Kommentar oben, bevor Sie die Bearbeitung überprüfen, die Sie an Ihrer Frage vorgenommen haben;)
itsjeyd

Eine gute Frage. Aus dem Handbuch hatte ich den Eindruck, dass man im Abschnitt "Lokale Variablen:" am Ende einer Datei "compile: ..." oder "compile-command: ..." hinzufügen kann, mein neuer Emacs jedoch nicht.
Ich scheine

Antworten:


7

Sie können die Variable anpassen compile-command, um den standardmäßig verwendeten Kompilierungsbefehl zu ändern:

(setq compile-command "make package install")

Beachten Sie, dass beim ersten Ausführen eines Kompilierungsbefehls, der dies nicht ist make package install , dieser neue Befehl zu Ihrem neuen Standardbefehl wird.
Nispio

2

Wenn Sie die Variable pro Projekt und nicht global anpassen möchten. Sie können Verzeichnisvariablen verwenden . Mit diesen können Sie bestimmte Anpassungen nur für Dateien in einem bestimmten Verzeichnis und seinen Unterverzeichnissen anwenden.

Wenn Sie beispielsweise den make package installBefehl as compile nur in Projekt A verwenden möchten , müssen Sie eine Datei mit dem Namen .dir-locals.elim Stammverzeichnis des Projekts erstellen und Folgendes hinzufügen

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

Die Syntax wird im obigen Link zum Emacs-Handbuch ausführlich erläutert. Wie von @hatschipuh hervorgehoben, können Sie die Befehle verwenden add-dir-local-variableund delete-dir-local-variableauf einfache Weise direkte lokale Werte hinzufügen und löschen.


Der Einfachheit halber gibt es die Befehle add-dir-local-variableund delete-dir-local-variable.
Clemera

@hatschipuh, guter Vorschlag aktualisiert die Antwort, um diese Befehle zu erwähnen
Iqbal Ansari
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.