自上次保存以来,如何查看对修改后的缓冲区所做的更改?


Answers:


27

您需要命令M-x diff-buffer-with-file。请参阅手册:

diff-buffer-with-file是diff.el中的一个交互式自动加载的已编译Lisp函数。

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

查看BUFFER及其关联文件之间的差异。这要求外部程序diff在您的计算机中exec-path


您可能还对在highlight-changes-mode启用缓冲区后自动和交互地突出显示对缓冲区所做的更改感兴趣。


highlight-changes-mode同样,还有diff-hlGNU ELPA中的软件包。
Stefan 2015年

是的,但是现在它仅能显示(已保存的)缓冲区和vc修订版之间的差异。我曾在diff-hl#33中缓冲区(与其后备文件相对)进行了差异化处理,但由于Emacs核心中的一个错误而被阻塞。
PythonNut

您是否有错误报告编号?
Stefan

@Stefan,我还没有解决。
PythonNut

(很久以前)修复了:可以在2019年工作!:)
mistige

13

命令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.

1
ediff-current-filediff-buffer-with-file您希望对更改进行交互式审核而不是简单的差异相比,它有一些好处。交互式审核甚至可以选择性地还原某些部分,以防万一您最终不想保存它们。另请参阅emacs.stackexchange.com/a/3778/10614以获取更完整的答案。
斯特凡纳·古里科
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.