¿Cómo puedo hacer un 'cambio de palabra' en Vim usando el búfer de pegado actual?

Pregunta:

Tengo algo de texto en mi búfer de pegado, por ejemplo, hice un yw (palabra de tirón) y ahora tengo 'foo' en mi búfer.

Ahora voy a la palabra 'barra' y quiero reemplazarla con mi búfer de pegado.

Para reemplazar el texto manualmente, podría hacer cw y luego escribir la nueva palabra.

¿Cómo puedo hacer un 'cambio de palabra', pero usar el contenido de mi búfer de pegado en lugar de escribir manualmente la palabra de reemplazo?

La mejor opción que tengo ahora es ir al principio de la palabra que quiero reemplazar y hacer dw (borrar palabra), ir al otro lugar y hacer yw (palabra de tirón). Luego regrese al área de reemplazo y haga p (pegar) que es un poco torpe, especialmente si no están en la misma pantalla.

Respuesta:

Opción 1

Puede usar registros para hacerlo y hacer una combinación de teclas para el proceso.

Tire de la palabra que desea reemplazar con yw .

La palabra extraída está en el registro 0 que puede ver al emitir :registers .

Vaya a la palabra que desea reemplazar y haga cw . Haga Ctrl + r seguido de 0 para pegar el registro 0 .

El mapa para eso se vería así (asumiendo Ctrl + j como nuestra combinación de teclas):

:map <Cj> cw<Cr>0<ESC>

Opción 2 (más simple)

Con su palabra tirada, coloque el cursor sobre la palabra que desea reemplazar y haga v i w p . Que es visualmente, seleccione la palabra interior y péguela.

Cortesía de @tlo en los comentarios: también podrías simplemente hacer v e p . Un carácter más corto. La desventaja tiene que colocar el cursor al comienzo de la palabra y (como con el mío) cambia el búfer.

Comentario (de Michael):

Esto es bueno. Nota adicional: el segundo método es de hecho más fácil pero, tal como está, solo funciona para UNA sustitución porque después de cada sustitución, el búfer se cambia al campo que se reemplazó (texto antiguo). El primer método es un poco más difícil de usar, PERO tiene la ventaja de que el búfer 0 permanece 'como está', por lo que puede usar ese método para hacer más de 1 reemplazo del mismo texto.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım