pagina oficial vim macvim

vim - oficial - Mover al inicio y al final de la búsqueda de búsqueda.



vim website (4)

En vim / gvim me gustaría poder moverme al principio y al final de la búsqueda actual. es posible?

Por ejemplo, con este archivo:

A dog and a cat A hat and a bat

Me gustaría poder realizar una búsqueda, por ejemplo /dog/sand y luego moverme desde el principio de ''dog and'' expresión hasta el final y hacia atrás para que mi cursor comience en la columna 3, debajo de la letra ''d'' de la palabra ''perro'' y luego pasa a la columna 9 debajo de la letra ''d'' o la palabra ''y''.

La razón por la que quiero poder hacer esto es para poder buscar una expresión y luego usar el comando de cambio, c , combinado con un comando de movimiento para reemplazar esa expresión de búsqueda en particular. No quiero usar sustituir y reemplazar aquí, quiero realizar esta operación usando el comando de cambio y una tecla de movimiento.


Intenta ths:

/pattern<cr> to place the cursor at the start of search pattern /pattern/e<cr> to place the cursor at the end of search pattern


Puede cambiar al final de la partida con c//e<CR> . Y //<CR> lo llevará al comienzo del próximo partido. Probablemente podrías elaborar algún tipo de enlace para aquellos que tienen sentido. Por ejemplo, solo probé lo siguiente, y parece funcionar bien:

:onoremap <silent>m //e<CR>

Para que puedas decir cm por cambio de partido. Sin embargo, no estoy seguro de a qué asignaría //<CR> . Intenté mapearlo en n , y pareció funcionar bien. No sé si eso sería un problema para ti.

:nnoremap <silent>n //<CR>


Usted está buscando c g n . Desde :help gn :

Search forward for the last used search pattern, like with `n`, and start Visual mode to select the match. If the cursor is on the match, visually selects it. If an operator is pending, operates on the match. E.g., "dgn" deletes the text of the next match. If Visual mode is active, extends the selection until the end of the next match.

La belleza de esto es que puedes hacer c g n y luego repetir el comando con . y, sí, hará la misma operación en la siguiente coincidencia de patrón de búsqueda. Esto se vuelve extraordinariamente útil cuando comienza a buscar con expresiones regulares complicadas.


Ya que sabe cuántas palabras está buscando, ¿por qué no moverse hacia atrás y hacia atrás con los comandos de movimiento de palabras? Es decir, "2w" para ir al final del resultado de búsqueda actual, y "2b" para volver.