Manchmal passiert es: emacs fordert Sie auf, nicht gespeicherte Änderungen an einer Datei wiederherzustellen, aber Sie können sich nicht erinnern, ob Sie diese Änderungen möchten oder nicht.
Gibt recover-this-file
es eine Möglichkeit, ausgehend vom Puffer einen Unterschied anzuzeigen oder die Änderungen auf andere Weise direkt zu sehen?
Zum Beispiel so etwas wie das, was sich magit-mode
ergibt, wenn eine bearbeitete Datei im Statuspuffer abgelegt wird.
Antworten:
Nachdem Sie
recover-this-file
die Autosave-Version ausgeführt und akzeptiert haben, haben Sie einen geänderten Puffer, der den Inhalt der Autosave-Version enthält. An dieser Stelle können Sie M-xdiff-buffer-with-file
RETdie Unterschiede zwischen dem geänderten Puffer und der gespeicherten Datei anzeigen.Der Schlüssel, den ich dafür gebunden habe, führt tatsächlich eine benutzerdefinierte Funktion aus, um ein einheitliches Diff zu erzeugen und die Eingabeaufforderung für den Puffer zu überspringen (er übernimmt den aktuellen Puffer).
Es gibt auch ein Ediff-Äquivalent (das ich im Allgemeinen bevorzuge, obwohl ich beides verwende), das unter verfügbar ist M-x
ediff-current-file
RETWenn Sie die Änderungen nach dem Prüfen des Unterschieds verwerfen möchten, sollten Sie in der Lage sein, einfach
undo
die Wiederherstellung durchzuführen. (Ansonsten kannst du immerrevert-buffer
oder benutzenfind-alternate-file
.)Da Tastenkombinationen für diff-Befehle häufig erforderlich sind =, finde ich Folgendes bequem (nb Ich habe die Standardbindung
C-z
aufgehoben und stattdessen in verschobenC-z C-z
, was sichC-z
als Präfix für benutzerdefinierte Bindungen öffnet ):quelle