Wie kann ich die Änderungen sehen, die seit dem letzten Speichern an einem geänderten Puffer vorgenommen wurden?

Antworten:

27

Sie wollen den Befehl M-x diff-buffer-with-file. Siehe das Handbuch:

diff-buffer-with-file ist eine interaktive, automatisch geladene, kompilierte Lisp-Funktion in diff.el.

(diff-buffer-with-file &optional BUFFER)

Zeigen Sie die Unterschiede zwischen BUFFER und der zugehörigen Datei an. Dies setzt voraus, dass sich das externe Programm diffin Ihrem befindet exec-path.


Möglicherweise interessiert Sie auch, highlight-changes-modewelche Änderungen nach der Aktivierung des Puffers automatisch und interaktiv hervorgehoben werden.

PythonNut
quelle
Im Sinne von highlight-changes-modegibt es auch das diff-hlPaket in GNU ELPA.
Stefan
Ja, aber im Moment funktioniert es nur, Unterschiede zwischen dem (gespeicherten) Puffer und einer vcRevision anzuzeigen . Ich habe daran gearbeitet, den Puffer (im Gegensatz zu seiner Sicherungsdatei) in diff-hl # 33 zu unterscheiden , aber er ist aufgrund eines Fehlers im Emacs-Kern blockiert.
PythonNut
Hast du eine Bug-Report Nummer dafür?
Stefan
@ Stefan, ich bin noch nicht dazu gekommen.
PythonNut
Wurde vor (wahrscheinlich) langer Zeit behoben: Funktioniert ab 2019! :)
Mistige
13

Befehl ediff-current-file:

ediff-current-file is an interactive autoloaded Lisp function in
`ediff.el'.

(ediff-current-file)

Start ediff between current buffer and its file on disk.
This command can be used instead of `revert-buffer'.  If there is
nothing to revert then this command fails.
Drew
quelle
1
ediff-current-filehat einige Vorteile gegenüber, diff-buffer-with-filewenn Sie eine interaktive Überprüfung von Änderungen anstelle eines einfachen Diffs wünschen. Die interaktive Überprüfung ermöglicht es sogar, einige Teile selektiv zurückzusetzen, falls Sie sie endgültig nicht speichern möchten. Eine vollständigere Antwort finden Sie unter emacs.stackexchange.com/a/3778/10614 .
Stéphane Gourichon