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-x diff-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).
(defun my-diff-buffer-with-file ()
"Compare the current modified buffer with the saved version."
(interactive)
(let ((diff-switches "-u")) ;; unified diff
(diff-buffer-with-file (current-buffer))))
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
RET
Wenn 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 immer revert-buffer
oder benutzen find-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 verschoben C-z C-z
, was sich C-z
als Präfix für benutzerdefinierte Bindungen öffnet ):
(global-set-key (kbd "C-z =") 'my-diff-buffer-with-file)
(global-set-key (kbd "C-z C-=") 'ediff-current-file)