Remover destaque de pesquisa do VIM

13

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

Alex
fonte

Respostas:

15

Você deseja o comando :nohlsearch, mas não deseja digitá-lo sempre. Coloque isso no seu ~ / .vimrc:

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

Depois disso, basta digitar seu líder (que por padrão é \) e depois nlimpar 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 ocorre antes do mapeamento para limpar as pesquisas.)

Telêmaco
fonte
4
Eu apenas faço: noh, o que é suficiente para o vim saber o que quero dizer. :)
sml 9/08/10
@ scottl Justo o suficiente (e bom lembrete de que todos os comandos têm atalhos), mas ainda gosto de mapear comandos usados ​​com frequência.
Telêmaco
10

eu apenas /qiw772723euz"procure" por algo que não esteja no arquivo. solução hacky, eu sei, também estou interessado em uma solução real :)

akira
fonte
isso é horrível, mas uma rápida agradável e sujo 'solução' embora :)
Matthias Krull
4

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

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

Pressionar n ativaria e desativaria a pesquisa de destaque toda vez que você a pressionasse.

technomalogical
fonte
3

Na minha configuração, limpo os termos de pesquisa destacados apenas pressionando enter no modo de comando . É assim que está configurado.

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

Como observação, eu gostaria de garantir que minhas correspondências de pesquisa sejam destacadas com muita clareza , independentemente do esquema de cores, por isso dou a elas 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
Nathan Long
fonte
0

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

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

sigvaldm
fonte