Jak załadować inny schemat kolorów podczas wykonywania vimdiff
.
Chcę tego, ponieważ mój bieżący schemat kolorów nie pokazuje poprawnie niektórych różnic w vimdiff
, For. np. niektóre różnice są wyświetlane z tym samym kolorem fg / bg. To sprawia, że bardzo trudno jest zrozumieć różnicę. Więc za każdym razem, gdy robięvimdiff
muszę to zrobić:colorscheme some_other_scheme
Czy można to zrobić w .vimrc
pliku?
;
if &diff | colorscheme xyz | cmd2 | cmd3 | endif
colorscheme some_other_scheme
przejrzy ścieżki środowiska uruchomieniowego dlacolor/some_other_scheme.vim
. Możesz zobaczyć swoje runtimepaths:set runtimepath?
z poziomu vima.Nie wiem, dlaczego vim używa tak wielu kolorów do podświetlania, tak naprawdę nie pomaga ci to zrozumieć, co się dzieje.
Zmodyfikowałem mój schemat kolorów, aby był tylko używany jednego koloru do podświetlania (z innym, aby pokazać, gdzie jest różnica w linii) i to wszystko zmieniło.
Przed
Po
Zrobiłem to, dodając następujący tekst na końcu mojego pliku colorscheme (
~/.vim/colors/mycolorscheme.vim
).cterm
- nadaje stylctermfg
- ustaw kolor tekstuctermbg
- ustaw podświetlenieDiffAdd
- linia została dodanaDiffDelete
- linia została usuniętaDiffChange
- zmieniono część linii (podświetla całą linię)DiffText
- dokładna część linii, która uległa zmianieUżyłem tego linku jako odniesienia do numerów kolorów.
Uwaga: nie ustawiłem opcji gui, ponieważ używam innego schematu kolorów dla macvim / gvim
źródło
Odpowiadając na moje własne pytanie:
źródło
Najłatwiejszym sposobem było wklejenie tej jednej linijki do mojego pliku ~ / .vimrc:
źródło
Todo
zamiast,MatchParen
ponieważ bardziej się wyróżnia.Jeśli napotykasz nieczytelne schematy kolorów (nie tylko brzydkie, ale nieczytelne, takie jak biały tekst na różowym tle), łatwym rozwiązaniem może być użycie 16 kolorów zamiast 256 kolorów. Wtedy nie musisz majstrować przy schematach kolorów.
Powodem jest to, że przypisuje domyślny schemat kolorów vimdiff
DiffChange bg
jako „LightMagenta”, który jest odwzorowywany na bardzo jasny róż w 256 kolorach. To jest nieczytelne w przypadku białego tekstu. Przy 16 kolorach „LightMagenta” jest odwzorowywana na odważną magentę, na której biały tekst jest znacznie lepiej widoczny.Możesz przeprowadzić szybki test, wykonując coś takiego:
256-kolorowy zrzut ekranu
Zrzut ekranu w 16 kolorach
Jak widać, 16 kolorów jest znacznie bardziej czytelnych, bez zmiany schematu kolorów.
Aby to było trwałe, możesz dodać
set t_Co=16
do swojego.vimrc
źródło
t_Co
została ustawiona na 8, coset t_Co=256
ogromnie zwiększyło jej czytelność.molokai: github: Dwa tematy github i molokai są równie piękne.
Umieść następujący kod w swoim ~ / .vimrc, możesz wybrać github lub molokai (linia zaczynająca się od "to komentarz):
źródło
Dla osób, które używają bardzo doskonałego motywu Solaryzacja, dostępna jest opcja, która włącza wysoką widoczność w trybie różnicowym:
"normalna"
"wysoki"
"Niska"
źródło
Właściwie odkryłem, że głównym winowajcą tego samego koloru fg / bg jest konflikt między podświetlaniem składni kodu a schematem kolorów różnic. Możesz spróbować zmienić schemat kolorów różnic, ale może to być gra typu whack-a-mole, gdy otwierasz różne typy plików (z różnymi podświetleniami składni kodu).
Pewnym rozwiązaniem jest wyłączenie podświetlania składni w vimdiff. Możesz wpisać:
:syntax off
Lub jeśli chcesz to robić automatycznie za każdym razem, dodaj to na końcu
~/.vimrc
:źródło
Innym podejściem jest naprawienie tego schematu kolorów.
O ile wiem, istnieją zwykle cztery grupy wyróżnień odnoszące się do diff'ing: DiffAdd, DiffChange, DiffDelete i DiffText. Jeśli nie chcesz przejmować się składnią lub dostosowywaniem kolorów do swoich upodobań, prawdopodobnie możesz skopiować domyślny schemat kolorów pod inną nazwą do ~ / .vim / colors (utwórz katalog, jeśli nie istnieje) i kopiuj wklej odpowiednie polecenia: hi z alternatywnego schematu kolorów na koniec nowego niestandardowego schematu kolorów, opcjonalnie komentując wszelkie inne instrukcje związane z różnicami.
A jeśli wynik jest oczywistą poprawą, wyślij e-mail do opiekuna schematu kolorów z twoimi zmianami i poproś go o zbadanie problemu. Jest duża szansa, że podziękuje Ci za zainteresowanie i naprawi swoją kolorystykę, aby inni użytkownicy również skorzystali.
źródło
/etc/vim/vimrc
lub~/.vimrc
: Jeśli używasz ciemnego tła w obszarze edycji i podświetlania składni, włącz również tę opcjęset background=dark
źródło
Używam tego, gdy używam vimdiff z poziomu vim:
Część z instrukcją else jest ważna, ponieważ w ten sposób wracasz do poprzedniej konfiguracji po zakończeniu porównywania. Możesz więc zastąpić
syntax off
isyntax on
odpowiednimicolorscheme
poleceniami. Ten autocmd obsługuje zmianę ustawienia i przywracanie go podczas wychodzenia z vimdiff (używamGdiff
aby być precyzyjnym).źródło
Aby rozwinąć @dean i kilka innych odpowiedzi tutaj, dodaj to do
.vimrc
:źródło