Otomatik recover-this-file
kaydetme sürümünü çalıştırdıktan ve kabul ettikten sonra , otomatik kaydetme içeriğini içeren değiştirilmiş bir arabellekiniz olur. Bu noktada M-x diff-buffer-with-file
RET, değiştirilen arabellek ile kaydedilen dosya arasındaki farkları görmek için kullanabilirsiniz .
Bunun için bağladığım anahtar aslında birleştirilmiş bir fark üretmek ve arabellek istemini atlamak için (geçerli arabellek varsayar) atlamak için özel bir işlevi çalıştırıyor.
(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))))
Ayrıca mevcut olan bir ediff eşdeğeri (genellikle her ikisini de kullanmam rağmen tercih ederim) vardır M-x ediff-current-file
RET
Değişikliği kontrol ettikten sonra değişiklikleri reddetmek istiyorsanız, sadece undo
kurtarma işlemini yapabilmelisiniz . (Her zaman revert-buffer
ya da kullanabilirsiniz find-alternate-file
.)
Diff komutları için sık sık bağlamalar sık sık içerdiğinden =, aşağıdakileri kullanışlı buluyorum (nb, varsayılan C-z
bağlamayı çözdüm ve bunun yerine C-z C-z
, C-z
özel bağlamalar için önek olarak açılır ):
(global-set-key (kbd "C-z =") 'my-diff-buffer-with-file)
(global-set-key (kbd "C-z C-=") 'ediff-current-file)