Meine Init-Datei enthält
(setq global-auto-revert-mode t)
und ich kann bestätigen, dass es mit Ch v wahr ist. Aber ich muss immer noch alle meine Dateien mit Rücksetzpuffer manuell zurücksetzen, wenn ich Git-Zweige ändere. Ich komme sogar so weit, zu versuchen, die Eingabeaufforderung "Datei auf Festplatte geändert" zu speichern und zu erhalten. Irgendwelche Vorschläge, wie man das debuggt?
minor-mode
revert-buffer
auto-revert-mode
Djechlin
quelle
quelle
(global-auto-revert-mode 1)
auto-revert-interval
? Ich benutze es und es funktioniert für mich, mit Ausnahme von Dateien über Tramp.Antworten:
Ein Nebenmodus wird durch Einstellen einer Variablen nicht aktiviert / deaktiviert. Die Nebenmodusvariable sollte verwendet werden, um den Status "Modus aktiviert" zu überprüfen und nicht um den Modusstatus festzulegen. Wenn sein Wert ist
t
, ist der Nebenmodus eingeschaltet, andernfalls ist der Modus ausgeschaltet.In den folgenden Ausschnitten erfahren Sie, wie Sie einen Nebenmodus steuern. Ersetzen Sie
MINOR-MODE-NAME
durch den tatsächlichen Namen des Nebenmodus, mit dem Sie sich befassen (global-auto-revert-name
wie dies in der Frage der Fall ist).Nebenmodus aktivieren
Mit elisp
Direkt
Basierend auf einer Hook-Aktivierung
Nebenmodus deaktivieren
Mit elisp
Direkt
Basierend auf einer Hook-Aktivierung
Einen kleinen Modus umschalten
Interaktiv
Verwenden einer Schlüsselbindung
Elisp verwenden (nicht interaktiv)
Quellen
quelle
global-auto-revert-mode
)Sie setzen die Variable nicht mit
setq
, Sie rufen die Funktion auf:quelle
(global-auto-revert-mode 1)
. Auch wenn Sie dies zu Ihrem Init hinzufügen, sollten Sie dieses Argument nicht einmal benötigen.(global-auto-revert-mode)
Sollte einfach genügen. Weitere Informationen finden Sie in Xahs Blogbeitrag .define-global-minor-mode
sind die einzigen gültigen Werte Zahlennil
undtoggle
. Die Tatsache, dass est
funktioniert, ist nur auf die Tatsache zurückzuführen, dassprefix-numeric-value
es nicht daran erstickt und es wie behandelt1
.1
als Argument nicht funktioniert hat .1
oder nichts zu übergeben, wenn Sie diesen Nebenmodus von elisp in Ihrem Init aktivieren möchten.Die automatische Wiederherstellung funktioniert nur für Puffer, die nicht geändert wurden. Zumindest für den Versuch, die Datei auf der Festplatte zu speichern und zu ändern, ist das von Ihnen beschriebene Verhalten normal.
quelle
-Q
Option) geöffnet undM-x global-auto-revert-mode
in beiden. Als ich vom Terminal aus einen String (echo 1234 >> somefile.txt
) in diese Datei zurückgab, wurde nur der Emacs 24.4-Puffer automatisch zurückgesetzt.M-x report-emacs-bug
.