Cuando busca una palabra en un archivo con algo parecido /console.log
, console.log
se resaltan todas las instancias de .
Cuando ya no esté interesado en estos, el resaltado puede ser una distracción. Mi estrategia actual para eliminar el resaltado es hacer algo como /asntehua
. ¿Hay alguna manera adecuada de eliminar esta palabra resaltada?
/skldafjlksjdf
;):nnoremap <silent> <CR> :nohlsearch<CR><CR>
. Presione regresar en modo comando, y el resaltado desaparecerá.Respuestas:
Como alternativa a
:noh
, me gusta hacer un:let @/=""
mapeo a un atajo de teclado.La diferencia es que
:noh
deja el término de búsqueda en el registro de búsqueda, por lo quen
yN
en el modo normal de reanudar la búsqueda por saltar al siguiente partido anterior / y re-resaltado. El uso:let @/=""
, por otro lado, causa el mensajeE25: No previous regular expression
y deja el cursor donde estaba , lo cual es especialmente conveniente si aún no lo sabectrl
,o
pero lo golpeó accidentalmenten
.Esto también se puede usar al revés. Para que vim resalte un texto sin saltar a él, puede
:let @/="some text"
En estas expresiones, @ le permite referirse a un registro, y @ / es el registro que contiene el último patrón de búsqueda.
fuente
Simplemente escriba
(Donde
<cr>
simboliza un retorno de carro, es decir, Intro). La versión completa no abreviada de este comando es:nohlsearch
.Para mayor comodidad, puede tener un mapeo como
en su
.vimrc
. Como mi líder es el Espacio, esto me permite borrar el resaltado simplemente tocando el espacio dos veces. (Por defecto,<Leader>
está configurado en\
)Otra opción popular es vincularlo a Ctrl+ L, ya que este es más o menos el valor predeterminado para 'pantalla de terminal redibujada', que es más o menos lo que está haciendo:
Esto tiene el efecto colateral de también volver a dibujar la pantalla del terminal, lo que podría ser lento si su conexión de terminal es lento (que es muy raro en estos días).
NOTA: Si está usando tpope / vim-sensible, entonces ya ofrece la
<C-l>
asignación mencionada anteriormente.fuente
Deshabilitar la búsqueda resaltada permanentemente
Las coincidencias no se resaltarán cuando realice una búsqueda utilizando /
Borrar resaltado hasta la próxima búsqueda
o
:nohlsearch
(borra hasta que no Nse presiona o se realiza una nueva búsqueda)Claro resaltado al presionar ESC
Borrar resaltado al presionar otra tecla o mapa personalizado
Claros claros al presionar \(barra invertida)
Destacados claros al golpear ESCdos veces
fuente
nnoremap <esc> :noh<return><esc>
a mivimrc
pero no funciona. Hejk
mapeado para escapar, ¿podría ser por eso?ESC
clave?jk
no se desactiva el texto resaltado (pero aún funciona comoEsc
). Al presionar myEsc
en la parte superior izquierda de mi teclado, se desactiva el texto resaltado.jk
mapa debajo delESC
mapa y asegúrese de estar usando un simple enmap
lugar denoremap
Después de probar varias soluciones sugeridas para atajos para esto en ~ / vimrc, decidí simplemente agregarlo
nmap <esc><esc> :noh<return>
. El doble escape evita la interferencia con la función de las teclas de flecha. Si está en modo de inserción, es necesario un escape triple. Esto es rápido de ejecutar y fácil de recordar.fuente
Agregué un autocmd a mi .vimrc que elimina el resaltado cada vez que ingresa al modo de inserción.
fuente
nohl
lugar delet @/=""
sería un mejor enfoque, ya que entonces no golpea su búsqueda actual.:let @/=""
comando peroautocmd InsertEnter * :noh
no por alguna razón, ¿alguna idea de por qué?Si no desea resaltar después de cualquier búsqueda, puede usar esto (mejor):
o esto (peor):
fuente
Cuando escribí
:help incsearch
, encontré lo siguiente en el manual:que renuncié a usar ya que otras soluciones que probé no eran perfectas y esta solución viene "directamente de la boca del caballo", por así decirlo. Destaca todas las coincidencias de búsqueda en la ventana actual.
fuente
Esto tiene la ventaja de que no tiene que escribirlo con exactitud. La desventaja es que hay una probabilidad de 1: 68719476736 en un archivo de 4096 bytes de que esto no funciona y su cursor saltará a un lugar diferente. Esta posibilidad aumenta para archivos más grandes.
fuente
asdfasdf
es especial en el sentido de que ocurre con mucha frecuencia en archivos prácticos, que una secuencia de 8 bytes seleccionada al azar. Por lo tanto, la posibilidad es mucho mayor. :-)No creo que eliminar hls sea algo bueno, ¿qué tal si es fácil habilitar o deshabilitar la creación de un acceso directo fácil (booleano) en mi caso ->
La magia ocurre debido a "
!
" al final de la configuraciónfuente
Encuentro que es muy raro para mí querer resaltar en absoluto y cuando necesito resaltarlo es solo por un breve momento. Mi solucion es
Esto permite resaltar cuando presiona
\/
y lo deshabilita nuevamente si presiona nuevamente. Esto proporciona un fácil acceso al resaltado en los casos excepcionales cuando lo necesita.fuente