ฉันเปิดไว้สองไฟล์ โดยจะเปิดในโหมดแนวตั้งถัดจากถัดไป ฉันสามารถเปลี่ยนไฟล์ทั้งสองนี้ทันทีโดยไม่ต้องออกหรือปิด Vim
ฉันเปิดไว้สองไฟล์ โดยจะเปิดในโหมดแนวตั้งถัดจากถัดไป ฉันสามารถเปลี่ยนไฟล์ทั้งสองนี้ทันทีโดยไม่ต้องออกหรือปิด Vim
คำตอบ:
ในการเริ่มต้นความแตกต่างบนหน้าต่างที่มองเห็นได้ทั้งหมด:
:windo diffthis
ซึ่งดำเนินการ:diffthis
ในแต่ละหน้าต่าง
ในการสิ้นสุดโหมด diff:
:diffoff!
( !
ทำให้diffoff
ใช้กับทุกหน้าต่างของแท็บปัจจุบัน - คงจะดีถ้าdiffthis
มีคุณสมบัติเหมือนกัน แต่ไม่มี)
:windo difft[this]
หนึ่งสามารถใช้นามแฝง Ref::help diff
ในแต่ละหน้าต่างที่คุณต้องการแตกต่างกัน:
:diffthis
หากคุณต้องการทำให้หน้าต่างที่เปิดอยู่ทั้งหมดแตกต่างกันคุณสามารถทำได้:
:windo diffthis
( windo
จะใช้คำสั่งกับหน้าต่างที่เปิดอยู่ทั้งหมด)
ติดตามคำตอบก่อนหน้านี้
:windo difft
(ย่อมาจากdiffthis
) จะเริ่มโหมด diff ในทุกหน้าต่างที่เปิดอยู่:windo diffo
(ย่อมาจากdiffoff
) จะหยุดโหมด diff ในทุกหน้าต่างที่เปิดอยู่ฉันมีการแมปต่อไปนี้ในของฉันvimrc
เพื่อให้ง่ายขึ้น:
command! Difft windo diffthis
command! Diffo windo diffoff
ตามคำตอบก่อนหน้านี้ฉันได้ปรับการแม็ปที่จัดทำโดย @cxw การทำแผนที่ต่อไปนี้จะปิด NERDTree โดยอัตโนมัติและทำให้หน้าต่างที่เปิดอยู่แตกต่างกัน ไม่สำคัญว่าถ้า NERDTree อยู่ใกล้ก็ทำงานในลักษณะเดียวกัน ฉันทำสิ่งนี้ค่อนข้างบ่อยดังนั้นมันจึงช่วยฉันได้พอสมควร
command! Difft NERDTreeClose | windo diffthis
:windo
คำสั่งทำให้ดียิ่งขึ้น ขอบคุณ. ฉันจะทำแผนที่เพื่อให้ง่ายขึ้น