最後の保存以降に変更されたバッファに加えられた変更を確認するにはどうすればよいですか?


19

変更されたバッファが与えられた場合、ディスク上のバッキングファイルとどのように比較して変更内容を確認できますか?



unix.stackexchange.comでも同じ質問がありましたが、回答者は少なくなりました。
imz-イヴァンザカリヤシェフ

回答:


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パッケージ。
ステファン

はい。ただし、現時点では、(保存された)バッファーとvcリビジョン間の差分を表示するためにのみ機能します。私は、差分の上で働いていたバッファをして(そのバッキングファイルではなく)差分-HL#33が、それはEmacsのコアのバグでブロックされています。
PythonNut

そのためのバグ報告番号はありますか?
ステファン

@ステファン、まだやっていない。
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も参照してください。
ステファンゴーリチョン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.