Làm cách nào tôi có thể thấy các thay đổi được thực hiện đối với bộ đệm đã sửa đổi kể từ lần lưu cuối cùng?


19

Đưa ra một bộ đệm đã sửa đổi, làm thế nào tôi có thể khác nó với tệp sao lưu nó trên đĩa để xem những gì tôi đã thay đổi?



Đã có câu hỏi tương tự tại unix.stackexchange.com, nhưng với ít asnwers hơn.
imz - Ivan Zakharyaschev

Câu trả lời:


27

Bạn muốn lệnh M-x diff-buffer-with-file. Xem hướng dẫn:

diff-buffer-with-file là một hàm Lisp được biên dịch tự động tương tác trong `diff.el '.

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

Xem sự khác biệt giữa BUFFER và tệp liên quan của nó. Điều này đòi hỏi chương trình bên ngoài diffphải ở trong bạn exec-path.


Bạn cũng có thể quan tâm đến việc highlight-changes-modetự động và tương tác làm nổi bật các thay đổi được thực hiện cho bộ đệm sau khi được bật.


Dọc theo dòng highlight-changes-modecũng có diff-hlgói trong GNU ELPA.
Stefan

Có, nhưng ngay bây giờ nó chỉ hoạt động để hiển thị khác nhau giữa bộ đệm (đã lưu) và vcbản sửa đổi. Tôi đã làm việc về việc khuếch tán bộ đệm (trái ngược với tệp sao lưu của nó) trong diff-hl # 33 , nhưng nó bị chặn trên một lỗi trong lõi Emacs.
PythonNut

Bạn có số báo cáo lỗi cho điều đó không?
Stefan

@Stefan, tôi chưa nhận được nó.
PythonNut

Đã sửa lỗi (có thể) từ lâu: hoạt động vào năm 2019! :)
nhầm

13

Lệnh 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-filecó một số lợi ích hơn diff-buffer-with-filenếu bạn muốn xem xét tương tác các thay đổi thay vì khác biệt rõ ràng. Đánh giá tương tác thậm chí cho phép hoàn nguyên có chọn lọc một số phần, trong trường hợp cuối cùng bạn không muốn lưu chúng. Xem thêm emacs.stackexchange.com/a/3778/10614 để có câu trả lời đầy đủ hơn.
Stéphane Gourichon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.