2009-08-29 10 views
56

Tengo :set hlsearch como valor predeterminado.Cómo deshacerse de la búsqueda resaltada en Vim

Cuando busco algo, los términos de búsqueda se resaltan. Sin embargo, muchas veces quiero deshacerme de lo más destacado, por lo que hago :set nohlsearch. De esta manera me deshago de los puntos destacados por el momento.

Sin embargo, si realizo una nueva búsqueda, los términos de búsqueda no se resaltarán.

me gustaría golpear ESC + ESC para deshacerse de los aspectos más destacados y situado detrás :set hlsearch.

¿Alguna sugerencia?

+2

posible duplicado de [vim clara última búsqueda resaltado] (http://stackoverflow.com/questions/657447/vim-clear-last-search-highlighting) –

Respuesta

92

Pruebe el comando :noh.

vi/vim notes

+0

¿Cómo le MAP: noh a pero mantener 's volver a dibujar el comportamiento intacto? –

+0

No estoy seguro de si eso fue parte de la tarea, pero si insistes, ¿por qué no agregar ': redraw' a la asignación? –

+10

Gracias, usé vim durante años pero no estaba al tanto de eso. Me pregunto si mis dedos pueden desaprender/lkjlkj? – codeape

1

podría buscar algo no en el archivo de texto. Nada se destacará en este caso. (Por ejemplo/349i5u9sgh)

+0

eso es lo que hago ahora. Estoy buscando una mejor alternativa. – Roger

4

Prueba esto:

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

y golpeó F12 para borrar cuando se desee. Use :noh en modo comando para borrar.

36

utilizo comando

/pleasedisablehighlightthanks 

. O solo

/qewrufhiqwe 

¡Pero debe tener cuidado de no mezclar esto con el siguiente comando!

/qewrufhiqew 
+0

Tendría el mismo efecto que el de ': noh', pero tienes que tener cuidado de no golpear algo que se puede encontrar ;-) –

+0

Esto es la técnica que he usado, pero la: noh también cambia los aspectos más destacados (dejando la siguiente búsqueda en modo resaltado), por lo que es "mejor". (Todo lo demás aparte, termino con un mensaje de error 'Patrón no encontrado: kkk' en la parte inferior, que tiene que limpiarse hasta. –

+0

Solo uso/asdf, es más corto :) – g33kz0r

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

Esto sería volver a dibujar la pantalla y borrar los términos de búsqueda con Control-L, práctico :) más fácil que llegar hasta las teclas de función.

8

Tengo el siguiente en mi .vimrc:

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

¿Alguien me puede guiar por lo que está pasando en este código? No lo entiendo – Roger

+1

'@ /' es el registro que contiene el último término de búsqueda. Este comando borra ese registro, lo que tiene el efecto de que desaparecen los aspectos más destacados de la búsqueda. Es algo así como ': nohls'. – jqno

+1

Tengo lo mismo: let mapeado a - es un alcance cómodo hasta \ – zen

3

Esto podría satisfacer sus necesidades:

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

Con un poco de bricolaje se puede hacer que funcione en modo de inserción.

Cuestiones relacionadas