2009-08-29 15 views
56

Ho :set hlsearch come valore predefinito.Come eliminare l'evidenziazione della ricerca in Vim

Quando cerco qualcosa, i termini di ricerca vengono evidenziati. Tuttavia molte volte voglio eliminare il momento saliente, quindi faccio :set nohlsearch. In questo modo mi sbarazzerò di punti salienti per il momento.

Tuttavia, se faccio una nuova ricerca, i termini di ricerca non sono evidenziati.

Vorrei colpire ESC + ESC per sbarazzarsi di luci e quindi impostare di nuovo :set hlsearch.

Qualche suggerimento?

+2

possibile duplicato del [vim chiara ultima ricerca evidenziazione] (http://stackoverflow.com/questions/657447/vim-clear-last-search-highlighting) –

risposta

92

Provare il comando :noh.

vi/vim notes

+0

Come ti MAP: noh per ma mantenere 's ridisegna il comportamento intatto? –

+0

Non sono sicuro se fosse parte del compito, ma se insisti, perché non aggiungere ': redraw' alla mappatura? –

+10

Grazie, ho usato per anni ma non ero a conoscenza di quello. Mi chiedo solo se è possibile che le mie dita disimparano/lkjlkj? – codeape

1

è possibile cercare qualcosa che non nel file di testo. Niente sarà evidenziato in questo caso. (Es/349i5u9sgh)

+0

è quello che faccio ora. Sto cercando un'alternativa migliore – Roger

4

Prova questo:

set hlsearch! 
nnoremap <F12> :set hlsearch!<CR> 

e colpire F12 per cancellare quando desiderato. Utilizzare :noh in modalità comando per cancellare.

36

Io uso il comando

/pleasedisablehighlightthanks 

. Oppure solo

/qewrufhiqwe 

Ma dovresti preoccuparti di non mescolare questo con il seguente comando!

/qewrufhiqew 
+0

Avrebbe lo stesso effetto di quello: 'noh', ma devi stare attento a non colpire qualcosa che può essere trovato ;-) –

+0

Questo è la tecnica che ho usato - ma il: noh giri delle alte luci (lasciando la ricerca successiva in modalità evidenziata), quindi è 'migliore'. (Tutto il resto a parte, finisco con un messaggio di errore "Pattern not found: kkk" in fondo, che deve essere pulito. –

+0

Io uso/asdf, è più breve :) – g33kz0r

15
:noremap <silent> <c-l> :nohls<cr><c-l> 

Questo sarebbe ridisegnare lo schermo ed eliminare eventuali termini di ricerca con Control-L, a portata di mano :) più facile che fino a raggiungere i tasti F.

8

Ho il seguente nel mio .vimrc:

map <silent> <C-N> :let @/=""<CR> 
+0

Qualcuno può guidarmi attraverso ciò che sta accadendo in questo codice. Non capisco – Roger

+1

'@ /' è il registro che contiene l'ultimo termine di ricerca. Questo comando cancella quel registro, che ha l'effetto che le evidenziazioni della ricerca scompaiono. È una specie di equivalente a ': nohls'. – jqno

+1

Ho lo stesso: let mappato a - è un comodo raggiungere fino a \ – zen

3

Questo potrebbe soddisfare le vostre esigenze:

nnoremap <esc> :noh<return><esc> 

Con un po 'di bricolage è possibile farlo funzionare in modalità di inserimento.

Problemi correlati