Jak mogę zobaczyć zmiany wprowadzone w zmodyfikowanym buforze od ostatniego zapisu?

Odpowiedzi:

27

Chcesz polecenia M-x diff-buffer-with-file. Zobacz instrukcję:

diff-buffer-with-file to interaktywna, automatycznie ładowana, skompilowana funkcja Lisp w `diff.el '.

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

Wyświetl różnice między BUFOREM a powiązanym plikiem. Wymaga to, diffaby program zewnętrzny był w twoim exec-path.


Może Cię również zainteresować highlight-changes-modeautomatyczne i interaktywne podświetlanie zmian wprowadzonych w buforze po jego włączeniu.

PythonNut
źródło
Wzdłuż linii highlight-changes-modeznajduje się również diff-hlpakiet w GNU ELPA.
Stefan
Tak, ale w tej chwili działa tylko wyświetlanie różnic między (zapisanym) buforem a vcwersją. Pracowałem nad różnicowaniem bufora (w przeciwieństwie do pliku kopii zapasowej) w diff-hl # 33 , ale jest on zablokowany na błąd w rdzeniu Emacsa.
PythonNut,
Czy masz na to numer zgłoszenia błędu?
Stefan,
@Stefan, jeszcze się z tym nie spotkałem.
PythonNut,
Naprawiono (prawdopodobnie) dawno temu: działa w 2019 roku! :)
mistige
13

Polecenie 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.
Rysował
źródło
1
ediff-current-filema pewne zalety, diff-buffer-with-filejeśli chcesz interaktywny przegląd zmian zamiast zwykłego porównania. Interaktywna recenzja pozwala nawet selektywnie przywrócić niektóre części, na wypadek, gdybyś ostatecznie nie chciał ich zapisywać. Zobacz także emacs.stackexchange.com/a/3778/10614, aby uzyskać pełniejszą odpowiedź.
Stéphane Gourichon