ฉันพยายามใช้ 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