เป็นกลุ่ม - ความแตกต่าง

คล้ายกับคำสั่ง UNIX diff เราสามารถใช้ Vim เพื่อแสดงความแตกต่างในลักษณะที่ดีกว่ามาก จะแสดงความแตกต่างในลักษณะที่มีสีสัน ในบทนี้เราจะพูดถึงรายการต่อไปนี้ -

  • แสดงความแตกต่างระหว่างไฟล์
  • เปิดใช้งานและปิดใช้งานโหมด diff
  • การนำทางในโหมดต่าง
  • ใช้การเปลี่ยนแปลงจากหน้าต่างต่าง

แสดงความแตกต่าง

เพื่อแสดงความแตกต่างระหว่างไฟล์ที่รันคำสั่งด้านล่าง -

$ vimdiff <file> <file> 
OR 
$ vim –d <file> <file>

ตัวอย่างเช่นด้านล่างคำสั่งแสดงความแตกต่าง -

ในภาพด้านบนข้อความที่เน้นด้วยสีม่วงแดงเป็นเรื่องปกติ ข้อความที่เหลือจะถูกเน้นด้วยสีแดงซึ่งบ่งชี้ว่ามีความแตกต่างบางประการหลังจากข้อความทั่วไป

เปิดใช้งานและปิดใช้งานโหมด diff

หากคุณอยู่ในกลุ่มแล้วและต้องการดำเนินการที่แตกต่างกันให้ใช้หนึ่งในคำสั่งต่อไปนี้ -

diffsplit

ใช้คำสั่งด้านล่างเพื่อทำการแบ่งแนวนอน -

:diffsplit filename

ภาพด้านบนแสดงให้เห็นว่าเรากำลังเปรียบเทียบไฟล์สองไฟล์คือ message-1.txt และ message-2.txt

แนวตั้ง diffsplit

ในการดำเนินการแยกแนวตั้งให้ใช้คำสั่งต่อไปนี้ -

:vert diffsplit <filename>

จะเปิดหน้าต่างต่อไปนี้ -

ภาพด้านบนแสดงให้เห็นว่าเรากำลังเปรียบเทียบไฟล์สองไฟล์คือ message-1.txt และ message-2.txt

การนำทางในโหมดต่าง

การนำทางในโหมด diff นั้นแตกต่างกันเล็กน้อย ตัวอย่างเช่นเมื่อคุณเลื่อนข้อความจากหน้าต่างหนึ่งข้อความจากหน้าต่างที่อยู่ติดกันจะเลื่อนไปด้วย สิ่งนี้เรียกว่า scrollbind เพื่อเปิดใช้งานการใช้งานนี้ -

:set scrollbind

หากต้องการปิดการใช้งานนี้ -

:set noscrollbind

หากคุณแก้ไขไฟล์ในโหมดนี้ให้ใช้คำสั่งต่อไปนี้เพื่ออัพเดต diff -

:diffupdate

สลับระหว่างหน้าต่างต่าง

ในการสลับระหว่างหน้าต่างที่แตกต่างให้ดำเนินการคำสั่งต่อไปนี้ -

Ctrl + w Ctrl + w

โปรดทราบว่าเราต้องกด Ctrl + w 2 ครั้ง

ข้ามไปที่การเปลี่ยนแปลงก่อนหน้า

ในหน้าต่างต่างให้ดำเนินการคำสั่งต่อไปนี้เพื่อข้ามไปยังการเปลี่ยนแปลงก่อนหน้า -

[c

ข้ามไปที่การเปลี่ยนแปลงถัดไป

ในหน้าต่างต่างให้ดำเนินการคำสั่งต่อไปนี้เพื่อข้ามไปยังการเปลี่ยนแปลงถัดไป -

]c

ใช้การเปลี่ยนแปลงจากหน้าต่างต่าง

ใช้การเปลี่ยนแปลงในหน้าต่างต่างปัจจุบัน

ในการใช้การเปลี่ยนแปลงจากหน้าต่าง diff ที่อยู่ติดกันเป็นหน้าต่าง diff ปัจจุบันให้ดำเนินการ -

:diffget

ตัวอย่างเช่นหากคุณอยู่ในหน้าต่างด้านซ้ายและต้องการเปลี่ยนจากหน้าต่างด้านขวาเป็นหน้าต่างปัจจุบันคุณจะดำเนินการคำสั่งด้านบน

ใช้การเปลี่ยนแปลงจากบานหน้าต่างปัจจุบันเป็นบานหน้าต่างอื่น

ในการใช้การเปลี่ยนแปลงจากหน้าต่าง diff ปัจจุบันไปยังหน้าต่าง diff ที่อยู่ติดกัน -

:diffput

ตัวอย่างเช่นหากคุณอยู่ในหน้าต่างด้านซ้ายและคุณต้องการใช้การเปลี่ยนแปลงจากหน้าต่างปัจจุบันเป็นหน้าต่างด้านขวาคุณจะดำเนินการคำสั่งด้านบน