Cela m'a toujours dérangé à propos des commandes w
et W
motion - elles semblent fonctionner différemment lorsqu'elles sont utilisées avec la c
commande hange que lorsqu'elles sont utilisées seules, ou avec la d
commande elete.
Par exemple, avec le curseur sur le "q" de ce texte:
The quick brown fox jumps over the lazy dog.
en tapant les dw
résultats dans
The brown fox jumps over the lazy dog.
et en tapant les de
résultats dans
The brown fox jumps over the lazy dog.
(Remarquez les deux espaces entre "Le" et "marron".)
La y
commande ank traite également w
et e
différemment, comme le montre la comparaison yeP
:
The quickquick brown fox jumps over the lazy dog.
et ywP
:
The quick quick brown fox jumps over the lazy dog.
Cependant, taper soit ceslow<Esc>
ou cwslow<Esc>
entraîne la même chose :
The slow brown fox jumps over the lazy dog.
Est-ce documenté quelque part? Quelle est la logique derrière cela et comment puis-je prédire les résultats d'une commande qui utilise w
?
la source
La différence entre le comportement du mouvement dans
cw
vs.dw
peut être expliquée simplement: normalement si vous voulez changer un mot, vous allez laisser les espaces qui le suivent, tandis que la suppression d'un mot suggère que vous voulez que les espaces soient également supprimés.Si vous ne voulez les espaces blancs à partir pour une raison quelconque (je le fais assez régulièrement mais ne peut pas penser à un exemple) puis utilisez le
aw
mouvement:caw
.la source