Dies ist etwas, das mich schon lange nervt, aber ich bin nie dazu gekommen, nachzufragen. Angenommen, der Text in Ihrem Puffer sieht folgendermaßen aus:
Hello
World
Wenn ich meinen Cursor irgendwo in Zeile 2 platziere und tue yk, endet mein Cursor in Zeile 1. Dies scheint zu implizieren, dass ein Operator und eine Bewegung den Cursor ebenfalls bewegen. Wenn ich jedoch in Zeile 1 beginne und tue yj, bleibt mein Cursor an derselben Stelle. Die gleiche Inkonsistenz tritt bei vielen Schlüsseln auf.
Moves Doesn't move
gg G
h l
{ }
( )
T t
F f
? /
Was ist mit diesem Verhalten? Wird dies erwartet und gut dokumentiert? Gibt es einen Namen dafür? Kann es überschrieben werden?
Im Allgemeinen sieht es so aus, als würde sich "rückwärts bewegen, vorwärts nicht", aber gibt es eine Möglichkeit, mit der ich definitiv feststellen kann, ob ein Operator + Bewegung den Cursor bewegt oder nicht?
quelle
y
ist ein Operator, kein Befehl.Antworten:
Von
:h operator
Was passiert ist, dass der Cursor an den Anfang des Textobjekts bewegt wird. Durch Aktivieren des visuellen Modus wird dies deutlicher. Sie können es sich vorstellen, während der Text ausgewählt wird, bevor er bearbeitet wird. Verwenden Sie, um
vby
zu sehen, was ich meine.quelle