ฉันจะดูการเปลี่ยนแปลงที่ทำกับบัฟเฟอร์ที่แก้ไขแล้วตั้งแต่บันทึกครั้งสุดท้ายได้อย่างไร


19

รับบัฟเฟอร์ที่แก้ไขแล้วฉันจะแตกต่างกับไฟล์ที่สำรองไว้บนดิสก์เพื่อดูสิ่งที่ฉันเปลี่ยนไปได้อย่างไร



มีคำถามเดียวกันที่ unix.stackexchange.com แต่มี asnwers น้อยกว่า
imz - Ivan Zakharyaschev

คำตอบ:


27

M-x diff-buffer-with-fileคุณต้องการคำสั่ง ดูคู่มือ:

diff-buffer-with-file เป็นฟังก์ชั่น Lisp ที่คอมไพล์แล้วที่โหลดอัตโนมัติใน `diff.el '

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

ดูความแตกต่างระหว่าง BUFFER และไฟล์ที่เกี่ยวข้อง นี้ต้องใช้โปรแกรมภายนอกที่จะอยู่ในของคุณdiffexec-path


คุณอาจสนใจhighlight-changes-modeว่าจะเน้นการเปลี่ยนแปลงที่ทำกับบัฟเฟอร์โดยอัตโนมัติและแบบโต้ตอบหลังจากเปิดใช้งาน


ตลอดแนวhighlight-changes-modeนั้นยังมีdiff-hlแพ็คเกจใน GNU ELPA
Stefan

ใช่ แต่ตอนนี้มันทำงานเพื่อแสดงความแตกต่างระหว่างบัฟเฟอร์ (บันทึก) และการvcแก้ไขเท่านั้น ฉันทำงานในการกระจายบัฟเฟอร์ (ตรงข้ามกับไฟล์สำรอง) ในdiff-hl # 33แต่มันถูกบล็อกในข้อบกพร่องในแกนหลักของ Emacs
PythonNut

คุณมีหมายเลขรายงานบั๊กหรือไม่
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-fileมีประโยชน์มากกว่าdiff-buffer-with-fileหากคุณต้องการตรวจสอบการเปลี่ยนแปลงแบบโต้ตอบมากกว่าความแตกต่างแบบธรรมดา การตรวจสอบแบบอินเทอร์แอคทีฟช่วยให้สามารถเลือกคืนบางส่วนได้ในกรณีที่คุณไม่ต้องการบันทึกในที่สุด ดูเพิ่มเติมที่emacs.stackexchange.com/a/3778/10614สำหรับคำตอบที่สมบูรณ์ยิ่งขึ้น
Stéphane Gourichon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.