Vim: Jak zmienić kolor podświetlenia dla trafień wyszukiwania i wyboru szybkich poprawek

124

Używam schematu kolorów pustyni, który używa białego tekstu na pomarańczowym tle do wyróżniania wyników wyszukiwania. Ten sam wzorzec jest używany dla wybranego wpisu w oknie quickfix.

Biel na pomarańczowo jest mało czytelna. Jak to zmienić w .vimrc?

Edycja: Dzięki za szybką odpowiedź, w przypadku schematu pustynnego używam teraz następującej modyfikacji podświetlenia wyszukiwania:

highlight Search guibg='Purple' guifg='NONE'

Fiolet jest dość łatwy do wizualnego wykrycia i nie jest używany przez IMHO do kolorowania składni w schemacie pustynnym.

Juve
źródło

Odpowiedzi:

162

Popatrz $VIMRUNTIME/colors/desert.vim. Odwzorowania kolorów są tam definiowane za pomocą hi[ghlight]polecenia. Podświetlanie wyszukiwania jest zdefiniowane jako

hi Search guibg=peru guifg=wheat

dla GUI i

hi Search cterm=NONE ctermfg=grey ctermbg=blue

do terminali.

Możesz zmienić to ustawienie w swoim, .vimrcużywając tego samego polecenia po wybraniu pliku colorscheme. Wpisz, :h hiaby uzyskać pomoc.

Ferdinand Beyer
źródło
2
Hej! Po prostu dałeś mi kolejną wskazówkę. Zawsze używałem: help zamiast: h;)
Juve
2
Znalazłem kolorystykę tortów, aby ładnie zaspokoić moje potrzeby. : colorscheme torte
James Mills
13
Może być też konieczne, :set hlsearchjeśli wyniki wyszukiwania nie są w ogóle podświetlane.
Jeff Allen
Aby zrobić to raz dla bieżącej sesji vima i nie utrwalać zmian, po prostu uruchom go w trybie ex ( :) przed hipoleceniem::hi Search cterm=NONE ctermfg=grey ctermbg=blue
Nitrodist
Widzę, że to podkreśla wszystkie wystąpienia. Jak zmienić podświetlenie instancji, na której aktualnie znajduje się kursor?
Costa
49

U mnie muszę też dodać hlsearch pod syntax onw~/.vimrc

set hlsearch
hi Search ctermbg=LightYellow
hi Search ctermfg=Red

Wewnątrz VIM możesz też zrobić: :highlight Search ctermfg=yellowzmienić to w locie.

  • ctermfg dotyczy koloru pierwszego planu
  • ctermbg dotyczy koloru tła

dostępne kolory ze strony dokumentacji vi to:

*cterm-colors*

NR-16   NR-8    COLOR NAME 
0       0       Black
1       4       DarkBlue
2       2       DarkGreen
3       6       DarkCyan
4       1       DarkRed
5       5       DarkMagenta
6       3       Brown, DarkYellow
7       7       LightGray, LightGrey, Gray, Grey
8       0*      DarkGray, DarkGrey
9       4*      Blue, LightBlue
10      2*      Green, LightGreen
11      6*      Cyan, LightCyan
12      1*      Red, LightRed
13      5*      Magenta, LightMagenta
14      3*      Yellow, LightYellow
15      7*      White
LeOn - Han Li
źródło
6

W moim przypadku linia w oknie QuickFix pokazywała nieczytelną szarość na cyjanie, która różniła się od moich wyników wyszukiwania (przyjemniejsza czerń na brzoskwini) Potwierdziło to polecenie

:hi

który pokazał formatowanie QuickFixLinei Searchjako ustawione

QuickFixLine   xxx term=reverse guibg=Cyan
Search         xxx term=reverse ctermfg=0 ctermbg=222 guifg=#000000 guibg=#FFE792

gdzie xxxmiał przykładowy format,

Dodałem następujący wiersz do mojego ~/.vimrc

hi QuickFixLine term=reverse ctermbg=52

a teraz w oknie terminala mam przyjemniejsze ciemnoczerwone tło. Running hi:pokazuje dodanie zmiany koloru tła dla mojego ternimal:

QuickFixLine   xxx term=reverse ctermbg=52 guibg=Cyan

(vim 8 na MacOS High Sierra w iTerm2, z motywem molokai)

Spangen
źródło