Sie können die Benutzeroberfläche anpassen nicht verwenden, um .dir-locals.el
Dateien zu aktualisieren. Anpassen ist für Ihre eigene Konfiguration. Wenn Sie eine Datei mit lokalen Verzeichnisvariablen bearbeiten/aktualisieren möchten, müssen Sie diese Datei entweder direkt bearbeiten oder M-xadd-dir-local-variable
verwenden.
Der letzte Befehl wird Sie zu den Details auffordern. Beachten Sie, dass kein Standardwert für den Wert der Variablen an der Eingabeaufforderung angeboten, aber, dass Sie geben können M-n oder < down> den Wert der Variablen in den aktuellen Puffer zu erhalten.
Beachten Sie auch, dass der Befehl tut nicht fragen, welches Verzeichnis die Variablen sind lokal für - es wird erstellen/aktualisieren Sie eine .dir-locals.el
Datei im Standardverzeichnis für den aktuellen Puffer. Das Ausgeben des Befehls aus einem dired-Puffer für das beabsichtigte Verzeichnis ist natürlich ein sicherer Ansatz, aber Sie können dies aus einem Puffer in dem Modus tun, für den Sie Variablen hinzufügen möchten - auf diese Weise den Standardvorschlag für den Modus und Die aktuellen Werte der betreffenden Variablen sind für Sie nützlicher.
(Wenn es keine Datei des entsprechenden Typs im Verzeichnis ist, können Sie immer CxCf eine neue/nicht gespeicherten Puffer eines geeigneten Dateinamen verwenden add-dir-local-variable
so oft wie nötig, und dann, wenn Sie‘ wiederholen Sie einfach alle neuen Puffer töten Sie erstellt, ohne sie zu speichern.)
Das alles gesagt, ich bin immer noch nicht 100% sicher, was Ihre Anforderung ist, da Ihre Frage ein wenig verwirrt ist; aber Sie können auch gerne wissen, dass Sie können verwenden Verzeichnis-lokale Variablen ohne eine .dir-locals.el
Datei überhaupt, wie Sie sie alternativ vollständig in Ihrer Init-Datei konfigurieren können.
Einzelheiten und Beispiele dazu finden Sie unter https://www.emacswiki.org/emacs/DirectoryVariables.
Tut mir leid, wenn ich dich verwirrt habe. Meine Frage ist, wie ich meine dir-lokale Variable dauerhaft in einer separaten Datei speichern kann. Wenn Sie eine Datei besuchen, fragt Emacs, ob ich mich bewerben möchte oder nicht, und bewerbe mich dauerhaft. Wenn Sie die letzte (dauerhaft anwenden) durch Drücken von! Auswählen, werden diese Variablen am Ende der Init-Datei vorangestellt. An dieser Stelle möchte ich diese in einer anderen eigenen Datei speichern, nicht in der Init-Datei. Gibt es einen Weg dazu? – windrg00
Ah, ich glaube, ich verstehe, was Sie jetzt fragen. Emacs speichert nur die Tatsache, dass Sie bestimmte Werte als * akzeptabel * für bestimmte lokale Variablen genehmigt haben. Diese Daten geben keine festzulegenden Werte an. Emacs überprüft diese Daten einfach, um zu sehen, ob Sie Ihre Erlaubnis beim Festlegen lokaler Variablen benötigen, die möglicherweise ohne Ihre Zustimmung nicht sicher festgelegt werden können. – phils
Sie können Emacs nicht anweisen, diese Daten automatisch irgendwo anders als Ihre 'custom-file' zu speichern, aber wenn Sie * wirklich * wollen, gibt es nichts, was Sie davon abhält, diese Daten manuell in eine separate elisp-Datei zu verschieben -' (setq safe-local-variable-values ...) '- die Sie in Ihrer Init-Datei laden würden und dann die Customize-Schnittstelle verwenden würden, um die Daten aus' custom-file' zu löschen. Sie müssten diese Wartung jedes Mal wiederholen, wenn Sie einen neuen sicheren Wert hinzufügen, also IMO wäre das sehr ärgerlich. – phils