É possível não acionar meu realce de pesquisa normal ao usar a pesquisa como um movimento?

7

Quando faço uma pesquisa no vim, gosto de ter meus resultados destacados e super visíveis, por isso dou a eles um fundo amarelo brilhante e um primeiro plano preto no meu .vimrc .

" When highlighting search terms, make sure text is contrasting colors
:highlight Search guibg=yellow guifg=black

(Isto é para versões GUI do vim, como MacVim ou Gvim; para linha de comando, você usaria ctermbg e ctermfg .)

Mas às vezes eu uso a pesquisa com um comando, como em c/foo - "alteração do cursor para a próxima ocorrência de foo ."

Nesse caso, não quero que todas as ocorrências de foo sejam destacadas.

Posso desativar o realce somente nos casos em que a pesquisa é usada como um movimento para um comando?

    
por Nathan Long 10.02.2011 / 15:29

2 respostas

3

Esses mapeamentos ingênuos parecem ajudar.

  • pesquisa normal

    Ative o destaque em antes de fazer a pesquisa:

    nnoremap / :set hls<CR>/
    
  • pesquisa de movimento

    Ative o destaque off antes de fazer a pesquisa:

    nnoremap v/ :set nohls<CR>v/
    nnoremap d/ :set nohls<CR>d/
    nnoremap y/ :set nohls<CR>y/
    nnoremap c/ :set nohls<CR>c/
    

Observe que você precisa configurar um mapeamento semelhante para ? .

    
por 21.08.2012 / 18:17
1

Para desativar permanentemente o destaque das pesquisas:

:set nohlsearch
(or)
:set nohls

Mas provavelmente você quer manter o destaque. Por outro lado, se quiser se livrar temporariamente do destaque, digite:

:nohlsearch
(or)
:noh

Ele deixará de destacar a pesquisa atual até você pesquisar novamente.

Mesmo que não seja a resposta perfeita para você, esta é uma boa solução alternativa, e é isso que eu uso.

    
por 11.02.2011 / 13:51

Tags