Respuestas:
A menudo me encuentro con ganas de reemplazar una palabra con otra que he sacado de otra parte. El problema con las otras soluciones es que si se intenta cambiar una palabra, entonces su siguiente pasta será ser esa palabra que ha eliminado con cw
.
Intenta lo siguiente:
1 "This first word should overwrite the second"
yiw yank inner word (copy word under cursor, say "first").
... Move the cursor to another word (say "second").
viwp select "second", then replace it with "first".
Espero que sea lo que estabas buscando.
once
. Si tengo que reemplazar un par de second' by
first` (en su ejemplo), la palabra copiada se convierte second
después del primer reemplazo.
ciw
c change
iw inner word
Esto eliminará la palabra debajo del cursor (incluso si el cursor está en algún lugar en el medio de la palabra) y entrará en modo de inserción.
Consulte también la documentación de Vim para referencia:
:help c
:help text-objects
Si desea cambiar una palabra con una palabra previamente eliminada, hay otra solución para viwp
(una vez que haya eliminado la primera palabra).
ciw
elimina la palabra anterior y lo pone en modo de inserción donde estaba. Pero luego puede usar ctrl+r, 0
para insertar el contenido del registro 0 (que contiene la palabra previamente extraída).
Entonces:
yiw
[move to next word]
ciw
ctrl+r
0
Esto funciona mejor que viwp
porque después del primer uso, puede realizar el reemplazo repetidamente .
. Tampoco cambia al modo visual y se resalta brevemente.
viwp
) se puede hacer varias veces con solo un tirón. ¡Gracias!
viwp
, incluso .
no lo duplica.
.
con esto es genial!
Intente cw
, como en 'cambiar palabra'.
Utilice http://linuxmoz.com/vi-commands-cheat-sheet/ o cualquier otra hoja de referencia como referencia.
/usr/bin/bash
o1222.333
)? Parece que vim interpreta/
y.
como el final de la palabra y no seleccionará toda la cadena.