Disable: define o hlsearch quando entro no modo INSERT

4

Eu configurei hlsearch no meu .vimrc.

O problema é: quando eu encontro o que eu preciso no meu documento, eu quero que ele desative automaticamente o hlsearch quando eu entrar no modo de inserção para aquela string pesquisada.

Então, se eu tentar procurar outra string, ela recomeçará. Esse comportamento é bem conhecido entre outros editores.

Como faço isso?

    
por Somebody still uses you MS-DOS 24.06.2010 / 16:00

2 respostas

3

Eu encontrei uma abordagem completamente diferente, mas isso é exatamente o que eu estava procurando.

:set hlsearch
autocmd InsertEnter * :let @/=""
autocmd InsertLeave * :let @/=""

This sets the "latest search" register to the empty string, so that nothing will be highlighted. Earlier searches can still be remembered by using the key after hitting / or ? and optionally the "start" of the string to be searched.

Fonte

Obrigado pela sua resposta akira , mas esta solução é realmente elegante na minha opinião. E funciona, eu testei!

    
por 25.06.2010 / 23:26
7

desabilite o destaque ao entrar no modo de inserção via i :

noremap i :set nohlsearch<CR>i

para reativá-lo, deixando o modo de inserção (via ESC ):

inoremap <ESC> <ESC>:set hlsearch<CR>

você poderia aplicar essa idéia a todos os tipos de chaves como a , o etc.

OR

autocmd InsertEnter * :set nohlsearch
autocmd InsertLeave * :set hlsearch

(kudos para a ideia de evento 'InsertEnter')

    
por 24.06.2010 / 17:08

Tags