Resultado de búsqueda actual de selección visual

9

He hlsearchconfigurado, pero a veces me hace pensar que tengo el término de búsqueda seleccionado visualmente, y puedo presionar cpara cambiarlo.

El término buscado puede no ser un número fácil de letras, palabras, incluso líneas, y de todos modos, no quiero contar.

¿Hay alguna forma de vh(o ch), por ejemplo, dónde se hejecuta hasta que se detiene el resaltado actual?

OJFord
fuente

Respuestas:

14

Puede usar el gnmovimiento para eso, selecciona el siguiente elemento buscado.

Puedes usarlo así:

/foo<CR>
gn            -> select the next "foo"
sbar<Esc>     -> (optional) substitute it with "bar"

Bonificación: para .repetir la búsqueda y el cambio, use a cpara hacer todo en un comando:

/foo<CR>
cgnbar<Esc>
...           -> find and change the 3 next foo
nobe4
fuente
1
¡Fantástico! Gracias. (Cualquiera que como yo se pierda por qué .repetirá toda la acción y no puede hacer que funcione, ¡lea más cuidadosamente, cprimero! No podría pedir algo mejor)
OJFord,
3
Tenga en cuenta que también puede usar gNpara seleccionar visualmente la coincidencia anterior.
statox
¿Cuál es la diferencia entre esto y solo presionar npara llegar al siguiente resultado de búsqueda?
user1717828
también realiza el cambio, por lo que en lugar de repetir n.(la próxima vez, repetir la modificación), puede presionar .(repetir la modificación, que es "cambiar la próxima vez")
nobe4
De hecho, cuando se .invoca gn, el original fooha desaparecido, por lo que Vim busca el siguiente foo. También gnlo nque habría hecho de todos modos (y más). Pero, como con n, tenga en cuenta que esto solo funciona bien cuando barno contiene foo!
joeytwiddle