Remover destaque da pesquisa VIM

12

Após uma pesquisa que eu fiz, todas as correspondências para a respectiva consulta permanecem realçadas e é irritante. Isso acontece mesmo depois de fechar o respectivo arquivo (comportamento normal?). Como posso remover isso?

    
por Alex 09.08.2010 / 12:46

5 respostas

15

Você quer o comando :nohlsearch , mas não quer digitar isso toda vez. Coloque isso no seu ~ / .vimrc:

nnoremap <silent> <leader>n :nohlsearch<CR>

Depois disso, basta digitar seu líder (que, por padrão, é \ ) e, em seguida, n para limpar as correspondências. Você não precisa usar n ; se preferir, escolha outra coisa.

Você também pode remapear seu líder para algo mais confortável, se quiser. Eu uso uma vírgula:

let mapleader = ","

(Isso é antes do mapeamento para limpar pesquisas.)

    
por 09.08.2010 / 13:03
10

Eu só /qiw772723euz "pesquiso" por algo que não está no arquivo. solução alternativa hacky, eu sei, estou interessado em uma solução real também:)

    
por 09.08.2010 / 13:01
4

Semelhante à resposta do @Telemachus acima, um comentário sobre esta resposta no SO by @David Winslow sugeriu o mapeamento de uma alternância de hlsearch . Você mapearia o seguinte:

nmap <silent> <leader>n :set hlsearch!<CR>

Bater n alterna a busca de realces toda vez que você acerta.

    
por 09.08.2010 / 16:51
3

Na minha configuração, limpe os termos de pesquisa realçados apenas pressionando pressionando Enter no modo de comando . É assim que isso é configurado.

set hlsearch    " highlight all matched terms
" Pressing return clears highlighted search
:nnoremap <CR> :nohlsearch<CR>/<BS>

Como observação, gosto de ter certeza de que minhas correspondências de pesquisa estão destacadas super claramente , independentemente do esquema de cores, por isso, forneço texto em preto sobre fundo amarelo.

" When highlighting search terms, make sure text is contrasting color
:highlight Search ctermbg=yellow ctermfg=black
" Do the same for gvim
:highlight Search guibg=yellow guifg=black
    
por 22.12.2010 / 14:56
0

Eu tenho uma solução um pouco diferente. Para mim, parece que a coisa mais natural a fazer seria pressionar <esc> para fazê-lo desaparecer. No entanto, isso não funciona. O mapeamento de <esc> para :noh tem efeitos colaterais desagradáveis, o que também não é uma opção. <Leader>n e mapeamentos semelhantes me parecem pouco intuitivos para uma tarefa tão trivial. No entanto, pressionar <esc> duas vezes é algo com o qual posso conviver:

nnoremap <silent> <esc><esc> :nohlsearch<CR>

    
por 22.02.2018 / 11:01