Esto siempre me ha molestado acerca de los comandos w
y de W
movimiento: parecen funcionar de manera diferente cuando se usan con el c
comando de suspensión que cuando se usan solos o con el d
comando elete.
Por ejemplo, con el cursor en la "q" de este texto:
The quick brown fox jumps over the lazy dog.
escribiendo dw
resultados en
The brown fox jumps over the lazy dog.
y escribiendo de
resultados en
The brown fox jumps over the lazy dog.
(Observe los dos espacios entre "The" y "brown").
El y
comando ank también trata w
y de manera e
diferente, como se puede mostrar al comparar yeP
:
The quickquick brown fox jumps over the lazy dog.
y ywP
:
The quick quick brown fox jumps over the lazy dog.
Sin embargo, al escribir ceslow<Esc>
o cwslow<Esc>
da como resultado lo mismo :
The slow brown fox jumps over the lazy dog.
¿Está esto documentado en alguna parte? ¿Cuál es la lógica detrás de esto y cómo puedo predecir los resultados de un comando que utiliza w
?
fuente
La diferencia entre el comportamiento del movimiento en
cw
vs.dw
puede explicarse simplemente: normalmente, si desea cambiar una palabra, dejará el espacio en blanco que le sigue, mientras que eliminar una palabra sugiere que también desea eliminar el espacio en blanco.Si desea que el espacio en blanco que se vaya por alguna razón (lo hago bastante regularidad, pero no puedo pensar en un ejemplo) es válida la
aw
moción:caw
.fuente