Das hat mich immer an den Befehlen w
und W
motion gestört - sie scheinen anders zu funktionieren, wenn sie mit dem c
Befehl hange verwendet werden, als wenn sie alleine oder mit dem d
Befehl elete verwendet werden.
Zum Beispiel mit dem Cursor auf das "q" dieses Textes:
The quick brown fox jumps over the lazy dog.
dw
Ergebnisse eingeben in
The brown fox jumps over the lazy dog.
und Eingabe de
ergibt
The brown fox jumps over the lazy dog.
(Beachten Sie die beiden Leerzeichen zwischen "The" und "brown".)
Der y
Befehl ank behandelt w
und e
unterscheidet sich auch, wie der Vergleich zeigt yeP
:
The quickquick brown fox jumps over the lazy dog.
und ywP
:
The quick quick brown fox jumps over the lazy dog.
Wenn Sie jedoch entweder ceslow<Esc>
oder eingeben, erhalten Sie cwslow<Esc>
dasselbe Ergebnis :
The slow brown fox jumps over the lazy dog.
Ist das irgendwo dokumentiert? Welche Logik steckt dahinter und wie kann ich die Ergebnisse eines Befehls vorhersagen, der verwendet wird w
?
quelle
Der Unterschied zwischen dem Verhalten der Bewegung in
cw
vs.dw
kann einfach erklärt werden: Wenn Sie ein Wort ändern möchten, lassen Sie normalerweise den Whitespace dahinter, während das Löschen eines Wortes darauf hindeutet, dass der Whitespace ebenfalls entfernt werden soll.Wenn Sie das Leerzeichen aus irgendeinem Grunde gehen weg wollen (ich regelmäßig genug , um es kann aber ein Beispiel , das nicht denken) , dann die Verwendung
aw
Bewegung:caw
.quelle