replace – Cómo reemplazar más de un carácter sin ingresar al modo de inserción

Pregunta:

Tengo un archivo con una línea que se parece a esto:

foofoo.xy.barbar

Quiero cambiar xy por gh . Traté de hacer 2 r -> g h , pero obviamente eso no funcionó, ya que reemplazó la xy con gg y luego movió el cursor un lugar hacia la izquierda.

¿Hay alguna manera de hacer esto sin ingresar al modo de inserción, o sin usar muchas más pulsaciones de teclas (por ejemplo : s / xy / gh / )?

Respuesta:

Si el texto nuevo tiene la misma longitud que el texto anterior, el modo de reemplazo de Vim es una opción. Desde el modo normal, R (que es una "r" mayúscula) lo lleva al modo de reemplazo. Esto es similar a "sobrescribir" en algunos otros editores de texto: en lugar de insertar nuevos caracteres como en el modo de inserción, escribir reemplazará el carácter debajo del cursor y luego avanzará al siguiente cursor. (Piense en ello como la r minúscula, pero para más de un solo carácter a la vez). Busque la documentación para el modo de reemplazo con :help replace-mode .

En su caso: con el cursor entre . y la x , ingrese al modo de reemplazo presionando R. Ahora, cuando escribe g , reemplaza la "x" y pasa al siguiente carácter, por lo que puede escribir h para reemplazar la "y". Tu edición está lista ahora, así que Escape para volver al modo normal.

(Esto funciona cuando el texto de reemplazo tiene la misma longitud que el texto anterior, pero si el texto de reemplazo es más largo o más corto, es posible que c sea ​​todo lo que necesita: reemplazará 1 el texto dentro de un movimiento, con el texto que escriba. muchas maneras de hacer uso c , por ejemplo: con el cursor entre el . y x ., c t ABC escape dice a c ambiar el texto (hasta 't il siguiente . ) con 'ABC').


1 Tirará el texto en el movimiento en el registro / " sin nombre y luego cambiará al modo de inserción, para que pueda escribir algo para reemplazarlo, y luego escapar de nuevo al modo normal.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım