บริบท
เมื่อ emacs ตรวจพบว่าไฟล์ถูกเปลี่ยนแปลงนอกบัฟเฟอร์การแก้ไข
ตั้งข้อสังเกต
emacs จะถาม:
ชื่อไฟล์บางส่วนเปลี่ยนไปในดิสก์; แก้ไขบัฟเฟอร์จริงเหรอ? (y, n, r หรือ Ch)
(บังเอิญบางครั้งมันเกิดขึ้นแม้ว่าจะไม่มีการเปลี่ยนแปลงจริงเช่นไฟล์ระยะไกลบนเซิร์ฟเวอร์ที่มีนาฬิกาลอย แต่คำถามนั้นน่าสนใจในทุกกรณี)
อยาก
emacs จะถาม:
ชื่อไฟล์บางส่วนเปลี่ยนไปในดิสก์; แก้ไขบัฟเฟอร์จริงเหรอ? (y, n, r, d หรือ Ch)
การกดd
จะแสดงความแตกต่างระหว่างเวอร์ชันเช่นediff-current-file
ที่อนุญาตให้เดินความแตกต่างแบบโต้ตอบ
ข้อมูลเพิ่มเติม
ซึ่งจะคล้ายกับสิ่งที่การจัดการแพ็คเกจ Debian ทำเมื่อตรวจพบว่าไฟล์ปรับแต่งที่ปรับแต่งในเครื่องได้รับการอัพเดตโดยแพ็คเกจที่เป็นเจ้าของเวอร์ชั่นใหม่กว่า สำหรับตัวอย่างดูไฟล์คอนฟิกูเรชัน / etc / default / grub เวอร์ชันใหม่พร้อมใช้งาน แต่เวอร์ชันที่ติดตั้งปัจจุบันถูกแก้ไขแบบโลคัล - Unix & Linux Stack Exchange
ค้นหาก่อนถาม
ฉันมักจะหาทางแก้ปัญหา (เช่นemacsclient - จากสคริปต์ภายนอกเปิดไฟล์และเรียกใช้นิพจน์อย่างง่าย ๆ ว่า emacs ทำงานอยู่หรือไม่ - Emacs Stack Exchange ) แต่หลังจากค้นหาสิ่งนี้ฉันไม่พบวิธีแก้ไขปัญหาที่มีอยู่ก่อน
ฉันจะพิจารณาปรับตัวเอง แต่ไม่เก่งพอใน emacs-lisp และ emacs internals
ร่างของการแก้ปัญหา
- การกดปุ่ม
C-g
'Mx ediff-current-file` จะทำงานโดยกดแป้นบางครั้ง - เป้าหมายที่นี่จะทำงาน
ediff-current-file
บนปุ่มกดหนึ่งปุ่มที่พร้อมท์ด้านบน