Vim: como alterar a cor de destaque dos hits da pesquisa e seleção de correções rápidas


123

Estou usando o esquema de cores do deserto, que usa texto branco em fundo laranja para destacar os hits da pesquisa. O mesmo padrão é usado para a entrada selecionada na janela do quickfix.

Branco em laranja não é muito legível. Como altero isso em .vimrc?

Edit: Obrigado pela resposta rápida, para o esquema do deserto agora estou usando a seguinte modificação de destaque de pesquisa:

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

O roxo é muito fácil de detectar visualmente e não é usado no IMHO para colorir sintaxe no esquema do deserto.

Respostas:


161

Olhe para $VIMRUNTIME/colors/desert.vim. Os mapeamentos de cores são definidos lá com o hi[ghlight]comando O destaque da pesquisa é definido como

hi Search guibg=peru guifg=wheat

para a GUI e

hi Search cterm=NONE ctermfg=grey ctermbg=blue

para terminais.

Você pode substituir essa configuração .vimrcusando o mesmo comando depois de selecionar sua colorscheme. Digite :h hipara obter ajuda.


2
Ei! Você acabou de me dar outra dica. Eu sempre usei: ajuda em vez de: h;)
Juve

2
Encontrei o esquema de cores da torta para atender bem às minhas necessidades. : colorscheme torte
James Mills

13
Você também pode precisar :set hlsearchse os resultados da pesquisa não estiverem sendo destacados.
Jeff Allen

Para fazer isso uma vez na sua sessão atual do vim e não persistir alterações, basta executá-lo no modo ex ( :) na frente do hicomando::hi Search cterm=NONE ctermfg=grey ctermbg=blue
Nitrodist

Eu posso ver isso destaca todas as instâncias. Como você altera o destaque da instância em que o cursor está atualmente?
Costa

49

Para mim eu tenho que acrescentar também hlsearch sob syntax onno~/.vimrc

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

Dentro do VIM, você também pode fazer: :highlight Search ctermfg=yellowalterá-lo rapidamente.

  • ctermfg é para cor de primeiro plano
  • ctermbg é para cor de fundo

as cores disponíveis na página de documentação do vi são:

*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

6

No meu caso, a linha na janela do QuickFix estava mostrando um cinza ilegível no ciano, que era diferente dos meus resultados de pesquisa (um preto mais agradável no pêssego) Isso foi confirmado pelo comando

:hi

que mostrava a formatação QuickFixLinee Searchcomo definida como

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

onde xxxtinha um formato de amostra,

Anexei a seguinte linha ao meu ~/.vimrc

hi QuickFixLine term=reverse ctermbg=52

e agora na minha janela do terminal tenho um fundo vermelho escuro mais agradável. A execução hi:mostra a adição da mudança de cor de fundo para o meu ternimal:

QuickFixLine   xxx term=reverse ctermbg=52 guibg=Cyan

(vim 8 no MacOS High Sierra no iTerm2, com tema molokai)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.