รวมการเปลี่ยนแปลงภายนอกที่เกิดขึ้นขณะทำการแก้ไข


10

หากมีการเปลี่ยนแปลงภายนอกเกิดขึ้นกับไฟล์ที่กำลังแก้ไขใน Vim ฉันเข้าใจว่าฉันสามารถโหลดเนื้อหาของไฟล์:editอีกครั้งได้ แต่สมมติว่า (ภายใน) ฉันได้ทำการเปลี่ยนแปลงไฟล์ที่ฉันต้องการรักษาไว้ มีวิธีรวมการเปลี่ยนแปลงสองชุด (ภายนอกและภายใน) หรือไม่ จากสิ่งที่ฉันเข้าใจ:editเพียงแค่ทำการเปลี่ยนแปลงภายนอก


3
ต้องอ่าน:h autoread? นั่นคือสิ่งที่คุณกำลังมองหา?
statox

2
:autoreadอ่านในการเปลี่ยนแปลงภายนอก แต่ในกรณีที่มีการเปลี่ยนแปลงกับไฟล์ที่ถูกอ่านโดยอัตโนมัติเป็นกลุ่มจะแจ้งให้ฉันทราบว่ามีการเปลี่ยนแปลงภายนอกจากไฟล์ตั้งแต่ฉันได้ทำการแก้ไขภายในของฉัน ฉันกำลังมองหาวิธีที่จะรวมการเปลี่ยนแปลงภายนอกกับสิ่งที่อยู่ภายใน
fuzzybear3965

5
คุณกำลังมองหา:h :DiffOrigอะไร?
Christian Brabandt

@ChristianBrabandt มันไม่สายเกินไปใช่ไหม? นี่เป็นคำตอบที่ดีมาก ฉันไม่รู้ว่ามันมีอยู่จริง
fuzzybear3965

คำตอบ:


3

หากต้องการอธิบายอย่างละเอียดเกี่ยวกับความคิดเห็นของChristian Brabandtนี่คือการสลายตัวของDiffOrigคำสั่ง:

คำสั่งแบบเต็ม:

command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
    \ | wincmd p | diffthis

การสลายตัว:

command DiffOrig        " create a new command named DiffOrig
vert new                " open a new buffer splitted vertically
| set bt=nofile         " set buffer type to scratch 
| r #                   " read the alternate buffer (opened file to diff)
| 0d_                   " delete the first line
| diffthis              " diff the current buffer
| wincmd p              " move cursor to opened file 
| diffthis              " diff the current buffer

เวอร์ชันสำรองใช้++editตัวเลือกสำหรับการอ่านมันจะเก็บค่าตัวเลือกราวกับว่าการแก้ไขไฟล์

อ้างอิง:

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.