Làm cách nào để tùy chỉnh màu vimdiff?


22

Tôi đang cố gắng sử dụng vimdiff làm công cụ hợp nhất git của mình, nhưng màu sắc được sử dụng khiến nó không thể chịu được (ít nhất là trên Windows / Mingw): màu nền và màu nền trước giống nhau đối với một số dòng xung đột, khiến nó trở nên khó khăn để tìm hiểu những gì đang xảy ra (xem các dòng bên dưới có chứa include=).

thí dụ

Câu trả lời:


13

Các màu được kiểm soát bởi bốn nhóm nổi bật này ( :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

Chúng thường được xác định bởi một bảng màu , nhưng bạn có thể tùy chỉnh chúng trong ~/.vimrc(sau :colorschemelệnh) nếu bạn muốn bạn phối hợp tổng thể, chỉ không làm nổi bật khác biệt của nó. Chỉ cần xác định lại bằng cách sử dụng :highlight. Dưới đây là các tùy chỉnh cá nhân của tôi (đối với GVIM; đối với thiết bị đầu cuối, bạn cần các ctermfg/bg=...thuộc tính phù hợp thay thế / ngoài ra):

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

Nếu bạn đang chuyển đổi màu sắc một cách nhanh chóng, bạn cần phải gọi lại các :hilệnh đó thông qua:autocmd ColorScheme * hi ...


11

Một cách khắc phục nhanh là tắt tính năng tô sáng cú pháp. Đôi khi, tô sáng cú pháp mã sẽ làm cho văn bản nền trước có cùng màu với màu nền của vimdiff, làm cho văn bản trở nên "vô hình".

:syntax off

Nếu bạn muốn tự động làm điều này cho vimdiff, sau đó thêm phần này vào cuối ~/.vimrc:

if &diff
    syntax off
endif
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.