Jak dostosować kolory vimdiff?


22

Próbuję użyć vimdiff jako narzędzia scalania git, ale użyte kolory sprawiają, że jest nie do zniesienia (przynajmniej w Windows / Mingw): kolor tła i kolor pierwszego planu są takie same dla niektórych sprzecznych linii, co czyni je niepotrzebnie trudnymi aby dowiedzieć się, co się dzieje (patrz poniższe wiersze zawierające include=).

przykład

Odpowiedzi:


13

Kolory są kontrolowane przez te cztery grupy wyróżnień ( :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

Są one zazwyczaj definiowane za pomocą schematu kolorów , ale możesz je dostosować w swoim ~/.vimrc(po :colorschemepoleceniu), jeśli podoba ci się ogólny schemat, po prostu nie wyróżniaj różnic. Po prostu przedefiniuj za pomocą :highlight. Oto moje osobiste dostosowania (dla GVIM; dla terminalu potrzebujesz odpowiednich ctermfg/bg=...atrybutów zamiast / dodatkowo):

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

Jeśli zmieniasz kolory w locie, musisz ponownie wywołać te :hipolecenia za pomocą:autocmd ColorScheme * hi ...


11

Jednym szybkim rozwiązaniem jest wyłączenie podświetlania składni. Czasami podświetlanie składni kodu powoduje, że tekst na pierwszym planie ma ten sam kolor co kolor tła vimdiff, przez co tekst jest „niewidoczny”.

:syntax off

Jeśli chcesz to zrobić automatycznie dla vimdiff, dodaj to na końcu ~/.vimrc:

if &diff
    syntax off
endif
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.