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?

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.)


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 :)


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.


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

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>

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.