¿Cómo haces que Vim destaque lo que buscaste?
Pregunta
Busco "nurple" en un archivo.Lo encontré, genial.Pero ahora, cada aparición de "nurple" se representa en negro sobre amarillo.Para siempre.
Es decir, para siempre, hasta que busque algo que sé que no se encontrará, como "asdhfalsdflajdflakjdf", simplemente para borrar el resaltado de búsqueda anterior.
¿No puedo simplemente presionar una tecla mágica para eliminar los aspectos más destacados cuando termine de buscar?
Solución
Simplemente pon esto en tu .vimrc
" <Ctrl-l> redraws the screen and removes any search highlighting.
nnoremap <silent> <C-l> :nohl<CR><C-l>
Otros consejos
:noh
(abreviatura de nohighlight) funcionará.
/lkjasdf
siempre ha sido más rápido que :noh
para mí.
" Make double-<Esc> clear search highlights
nnoremap <silent> <Esc><Esc> <Esc>:nohlsearch<CR><Esc>
Entonces prefiero esto:
map <F12> :set hls!<CR>
imap <F12> <ESC>:set hls!<CR>a
vmap <F12> <ESC>:set hls!<CR>gv
¿Y por qué?Porque alterna el interruptor:si el resaltado está activado, presione F12 lo apaga.Y viceversa.HTH.
Agregue la siguiente línea al final de su .vimrc
para evitar resaltar por completo:
set nohlsearch
*:noh* *:nohlsearch* :noh[lsearch] Stop the highlighting for the 'hlsearch' option. It is automatically turned back on when using a search command, or setting the 'hlsearch' option. This command doesn't work in an autocommand, because the highlighting state is saved and restored when executing autocommands |autocmd-searchpat|. Same thing for when invoking a user function.
Lo encontré justo debajo :help #
, que sigo pulsando todo el tiempo y que resalta todas las palabras de la página actual como la actual.
Busco con tanta frecuencia que me resulta útil asignar la clave de guión bajo para eliminar el resaltado de búsqueda:
nnoremap <silent> _ :nohl<CR>
Creo que la mejor respuesta es tener un atajo de líder:
<leader>c :nohl<CR>
Ahora, cuando tengas tu documento lleno de términos resaltados, simplemente presiona , + C (Tengo mi líder asignado a una coma).Funciona perfectamente.
Creo que esta respuesta en "Vim borra el resaltado de la última búsqueda" es mejor:
:let @/ = ""
Tengo esto en mi .vimrc:
nnoremap ; :set invhlsearch<CR>
Por aquí, ; alternará el resaltado de búsqueda.Normalmente, el ; La tecla repite el último comando t/T/f/F, pero nunca utilicé esa funcionalidad.Esta configuración me parece mucho más útil, porque puedo activar y desactivar el resaltado de búsqueda muy rápidamente y puedo tener una idea fácil de dónde están los resultados de mi búsqueda, de un vistazo.
Hay hlsearch
y nohlsearch
. :help hlsearch
proporcionará más información.
Si quieres unir F12 Para activarlo/desactivarlo puedes usar esto:
map <F12> :nohlsearch<CR>
imap <F12> <ESC>:nohlsearch<CR>i
vmap <F12> <ESC>:nohlsearch<CR>gv
Además, si desea tener una herramienta y estar seguro de que el resaltado se reactivará la próxima vez que busque algo, puede usar esto
nmap <F12> :set hls!<CR>
nnoremap / :set hls<CR>/
Agrego el siguiente mapeo a mi ~/.vimrc
map e/ /sdfdskfxxxxy
Y en modo ESC, presiono e/