ฉันจะปรับแต่ง vimdiff สีได้อย่างไร


22

ฉันพยายามใช้ vimdiff เป็นเครื่องมือคอมไพล์ของฉัน แต่สีที่ใช้ทำให้มันทนไม่ได้ (อย่างน้อยใน Windows / Mingw): สีพื้นหลังและสีพื้นหน้านั้นเหมือนกันสำหรับบางบรรทัดที่ขัดแย้งกันทำให้ยากโดยไม่จำเป็น เพื่อดูว่าเกิดอะไรขึ้น (ดูบรรทัดด้านล่างที่มีinclude=)

ตัวอย่าง

คำตอบ:


13

สีถูกควบคุมโดยกลุ่มไฮไลต์ทั้งสี่กลุ่ม ( :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 ...


11

การแก้ไขอย่างรวดเร็วหนึ่งอย่างคือการปิดใช้งานการเน้นไวยากรณ์ บางครั้งการเน้นไวยากรณ์ของรหัสจะทำให้ข้อความเบื้องหน้าเป็นสีเดียวกับสีพื้นหลัง vimdiff ทำให้ข้อความ "มองไม่เห็น"

:syntax off

หากคุณต้องการทำสิ่งนี้โดยอัตโนมัติสำหรับ vimdiff ให้เพิ่มส่วนนี้ลงในส่วนท้ายของ~/.vimrc:

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