Answers:
运行recover-this-file
并接受自动保存版本后,您将拥有一个包含自动保存内容的修改缓冲区。此时,您可以M-x diff-buffer-with-file
RET用来查看修改后的缓冲区和保存的文件之间的差异。
我为此绑定的键实际上是运行一个自定义函数,以便生成统一的diff,并跳过提示输入缓冲区的操作(假定当前缓冲区)。
(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))))
还有一个ediff等效项(我通常更喜欢,尽管我确实同时使用了两者),该等效项可以在 M-x ediff-current-file
RET
如果您希望在检查差异后拒绝修改,则应该能够简单地undo
进行恢复。(如果您始终可以使用revert-buffer
或,则失败find-alternate-file
。)
由于diff命令的键绑定经常涉及=,所以我发现以下便捷(nb,我取消了默认C-z
绑定的绑定,而是将C-z C-z
其移至,这将C-z
作为自定义绑定的前缀打开):
(global-set-key (kbd "C-z =") 'my-diff-buffer-with-file)
(global-set-key (kbd "C-z C-=") 'ediff-current-file)