En el modo normal, puedo presionar Ctrl
+ E
que borra el resto de la palabra actual y pasa al modo de inserción.
Quiero eliminar toda la palabra, independientemente de la posición del cursor (dentro de la palabra, por supuesto).
Puede usar "cambiar palabra interna" escribiendo "ciw" para eliminar una palabra en la que se encuentra el cursor.
Los comandos "inner" y "a" son geniales en Vim, también prueba "ci {" dentro de un bloque {}, o "ca {" si también deseas eliminar los caracteres {}. Para traducir estos comandos al inglés y recordarlos mejor, intente: "cambiar el {bloque" interno y "cambiar un {bloque".
Documentación en http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects
ciw
ycaw
no son exactamente iguales:ciw
elimina solo la palabra, tambiéncaw
elimina el espacio final.Responda a su pregunta de seguimiento:
viwp
fuente
yiw
para copiar la palabra actual, coloque el cursor en la palabra para reemplazar, useciw<C-r>0
. Después de eso, puede colocar el cursor en la siguiente palabra y usar.
para rehacer el reemplazo.:%s/a/b/g
.a
puede ser texto exacto o una expresión regular, yb
es con lo que reemplazará todas las coincidenciasa
. Puede probar las expresiones regulares con el/
modo de vim . Reemplace%
con un número de línea o rango si no desea sustituir en todas las líneas.Para la segunda pregunta:
bPldw
Esto, en orden, lo llevará al principio de la palabra actual, insertará el registro predeterminado delante del cursor, irá al siguiente carácter (lo llevará más allá del final del texto que acaba de insertar) y eliminará el resto de la palabra.
fuente
bPlde
.viwp
Para la primera pregunta,
bcw
también funciona. Significa "b
aceptar al principio de la palabra,c
cambiarw
". Pero creo queciw
es más memorable, lo que significa "c
hangei
nnerw
ord", solo un paso.Para la segunda pregunta sobre "reemplazar usando pasta", mi solución es
"_diwP
. Esod
eletei
nnerw
ord a un registro que no se preocupan yp
ASTE el contenido del registro por defecto. Una ventaja es que puede pegar el registro predeterminado muchas veces, porque no se contaminaría. Es un pequeño complejo, así que lo mapeo comonnoremap ,r "_diwP
.fuente
O tal vez podría usar la secuencia de teclas
bdwi
para borrar la palabra actual y entrar en el modo INSERT.fuente
bcw
para ir al principio de la palabra actual y luego cambiar la palabra, lo que deja el modo de inserción.dwi
. Solo tenga cuidado de que la policía no se dé cuenta, ya que DWI es ilegal en la mayoría de los estados.