Eliminar resaltado de búsqueda de VIM


13

Después de una búsqueda que hice, todas las coincidencias para la consulta respectiva permanecen resaltadas y es molesto. Esto sucede incluso después de cerrar el archivo respectivo (¿comportamiento normal?). ¿Cómo elimino esto?

Respuestas:


15

Desea el comando :nohlsearch, pero no desea escribirlo cada vez. Pon esto en tu ~ / .vimrc:

nnoremap <silent> <leader>n :nohlsearch<CR>

Después de eso, solo ingresa tu líder (que por defecto es \) y luego nborra las coincidencias. No necesitas usar n; si lo prefiere, elija otra cosa.

También puede reasignar a su líder a algo más cómodo, si lo desea. Yo uso una coma:

let mapleader = ","

(Eso va antes del mapeo para borrar las búsquedas).


44
Solo hago: noh, que es suficiente para que vim sepa a qué me refiero. :)
sml

@scottl Bastante justo (y un buen recordatorio de que todos los comandos tienen accesos directos), pero todavía me gusta asignar comandos de uso frecuente.
Telémaco el

10

solo /qiw772723euzpara "buscar" algo que no está en el archivo. solución alternativa, lo sé, también estoy interesado en una solución real :)


eso es horrible, pero una buena 'solución' rápida y sucia :)
matthias krull

4

Similar a la respuesta de @Telemachus arriba, un comentario sobre esta respuesta en SO por @David Winslow sugirió mapear una alternancia de hlsearch. Mapearías lo siguiente:

nmap <silent> <leader>n :set hlsearch!<CR>

Al presionar n, se activa y desactiva la búsqueda de resaltado cada vez que se presiona.


3

En mi configuración, borro los términos de búsqueda resaltados simplemente presionando enter en el modo de comando . Así es como está configurado.

set hlsearch    " highlight all matched terms
" Pressing return clears highlighted search
:nnoremap <CR> :nohlsearch<CR>/<BS>

Como nota al margen, me gusta asegurarme de que mis coincidencias de búsqueda estén resaltadas súper claramente , sin importar el esquema de color, por lo que les doy texto negro sobre un fondo amarillo.

" 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

Tengo una solución ligeramente diferente. Para mí, lo más natural es presionar <esc>para que desaparezca. Sin embargo, eso no funciona. La asignación <esc>a :nohtiene efectos secundarios desagradables, por lo que tampoco es una opción. <Leader>ny mapeos similares no me parecen intuitivos para una tarea tan trivial. Sin embargo, presionar <esc>dos veces es algo con lo que puedo vivir:

nnoremap <silent> <esc><esc> :nohlsearch<CR>

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.