¿Cómo puedo ver los cambios realizados en un búfer modificado desde el último guardado?

Respuestas:

27

Quieres el comando M-x diff-buffer-with-file. Ver el manual:

diff-buffer-with-file es una función Lisp compilada con carga automática interactiva en `diff.el '.

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

Ver las diferencias entre BUFFER y su archivo asociado. Esto requiere que el programa externo diffesté en su exec-path.


También puede interesarle highlight-changes-modeque resalte de forma automática e interactiva los cambios realizados en el búfer después de que se habilitó.

PythonNut
fuente
En la línea de highlight-changes-modetambién está el diff-hlpaquete en GNU ELPA.
Stefan
Sí, pero en este momento solo funciona para mostrar diferencias entre el búfer (guardado) y una vcrevisión. Trabajé en diferenciar el búfer (a diferencia de su archivo de respaldo) en diff-hl # 33 , pero está bloqueado en un error en el núcleo de Emacs.
PythonNut
¿Tiene un número de informe de error para eso?
Stefan
@Stefan, aún no lo he logrado.
PythonNut
Me arreglaron hace (probablemente) mucho tiempo: ¡funciona en 2019! :)
mistige
13

Comando 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.
Dibujó
fuente
1
ediff-current-filetiene algunos beneficios diff-buffer-with-filesi desea una revisión interactiva de los cambios en lugar de una diferencia simple. La revisión interactiva incluso permite revertir selectivamente algunas partes, en caso de que finalmente no desee guardarlas. Consulte también emacs.stackexchange.com/a/3778/10614 para obtener una respuesta más completa.
Stéphane Gourichon