ฉันพยายามใช้ vimdiff เป็นเครื่องมือคอมไพล์ของฉัน แต่สีที่ใช้ทำให้มันทนไม่ได้ (อย่างน้อยใน Windows / Mingw): สีพื้นหลังและสีพื้นหน้านั้นเหมือนกันสำหรับบางบรรทัดที่ขัดแย้งกันทำให้ยากโดยไม่จำเป็น เพื่อดูว่าเกิดอะไรขึ้น (ดูบรรทัดด้านล่างที่มีinclude=)
ฉันพยายามใช้ vimdiff เป็นเครื่องมือคอมไพล์ของฉัน แต่สีที่ใช้ทำให้มันทนไม่ได้ (อย่างน้อยใน Windows / Mingw): สีพื้นหลังและสีพื้นหน้านั้นเหมือนกันสำหรับบางบรรทัดที่ขัดแย้งกันทำให้ยากโดยไม่จำเป็น เพื่อดูว่าเกิดอะไรขึ้น (ดูบรรทัดด้านล่างที่มีinclude=)
คำตอบ:
สีถูกควบคุมโดยกลุ่มไฮไลต์ทั้งสี่กลุ่ม ( :help hl-DiffAdd):
DiffAdd diff mode: Added line
DiffChange diff mode: Changed line
DiffDelete diff mode: Deleted line
DiffText diff mode: Changed text within a changed line
โดยทั่วไปสิ่งเหล่านี้จะถูกกำหนดโดยชุดรูปแบบสีแต่คุณสามารถปรับแต่งชุดรูปแบบเหล่านี้ใน~/.vimrc(หลังจาก:colorschemeคำสั่ง) หากคุณชอบรูปแบบโดยรวมของคุณ :highlightเพียงแค่ใช้ redefine นี่คือการปรับแต่งส่วนบุคคลของฉัน (สำหรับ GVIM สำหรับเทอร์มินัลคุณต้องการctermfg/bg=...แอตทริบิวต์ที่เหมาะสมแทน / เพิ่มเติม):
hi DiffAdd gui=none guifg=NONE guibg=#bada9f
hi DiffChange gui=none guifg=NONE guibg=#e5d5ac
hi DiffDelete gui=bold guifg=#ff8080 guibg=#ffb0b0
hi DiffText gui=none guifg=NONE guibg=#8cbee2
หากคุณเปลี่ยนชุดรูปแบบสีได้ในทันทีคุณต้องเรียกใช้:hiคำสั่งเหล่านั้นอีกครั้งผ่าน:autocmd ColorScheme * hi ...
การแก้ไขอย่างรวดเร็วหนึ่งอย่างคือการปิดใช้งานการเน้นไวยากรณ์ บางครั้งการเน้นไวยากรณ์ของรหัสจะทำให้ข้อความเบื้องหน้าเป็นสีเดียวกับสีพื้นหลัง vimdiff ทำให้ข้อความ "มองไม่เห็น"
:syntax off
หากคุณต้องการทำสิ่งนี้โดยอัตโนมัติสำหรับ vimdiff ให้เพิ่มส่วนนี้ลงในส่วนท้ายของ~/.vimrc:
if &diff
syntax off
endif