NB Dies ist kein Duplikat von Wie funktioniert der Befehl "d3fg"? Bitte lesen Sie es, bevor Sie abstimmen, um zu schließen!
Ich bin in eine Sackgasse geraten, um zu erreichen, dass kleine Löschvorgänge wie große funktionieren . Das Problem, das ich habe, ist, dass ich nicht herausfinden kann, wie Befehle neu zugeordnet werden können d3d. Tatsächlich kann ich nicht einmal verstehen, wie sie überhaupt funktionieren, und ich kann in Vims Hilfe keine Erwähnung finden. *
d3jist einfach: es wendet die d
Bedienungsperson auf die 3j
Bewegung an,
3ddist auch einfach: es führt den dd
Befehl mit einem "count" von 3 aus.
d3d sieht so aus als sollte es unkompliziert sein, es wendet die d
bedienung auf die ... aber was ist das 3d
? Es ist keine Bewegung. Wenn Sie 3dalleine tippen , wird dies von Vim als Zählung behandelt, gefolgt von einem Operator, und es wird geduldig auf weitere Eingaben gewartet.
Und Sie können keine Operatoren auf andere Operatoren anwenden. ddwird in der Hilfe nicht als Folge von zwei Operatoren beschrieben. Es ist ein separater Befehl mit zwei Tasten. (vgl dc. was nix macht.)
Es scheint auch nicht der Fall zu sein, dass die Positionierung des Zählers für Befehle flexibel ist, die zwei Tastenanschläge erfordern: 2gjBewegt den Cursor zwei Bildschirmzeilen nach unten, g2jverwirft jedoch die ersten beiden Tastendrücke vollständig und bewegt den Cursor eine Zeile nach unten.
Wie funktioniert es? Ist dies nur ein Sonderfall in Vims internem Code? Kann ich auf irgendeine Weise ein d[count]d
Mapping erstellen ?
EDIT : Ist es ein Textobjekt? :h text-objects
Schließt es nicht in die Liste der "Befehle zur Auswahl von Textobjekten" ein, aber dann schließt es dd in eine Liste von Löschungen ein, die "von kleinen zu großen Objekten gruppiert" sind. Und d2awlöscht das Wort unter dem Cursor und das folgende. Auf der anderen Seite c2dtut nichts.
* Ich bin sicher, dass einige Erwähnungen existieren müssen, aber ich kann es nicht finden. Ich habe gelesen :help deleting
, :help motion.txt
und :helpgrep dNd
für alle Werte von N von 1 bis 9 versucht .
dd
ist identisch mit d_
. _
Bewegt den Cursor in der ( [count]
-1) -ten Zeile nach unten zur ersten nicht leeren Zeile, die jedoch zeilenweise ist. Wenn Sie also mit einem Operator gepaart werden, werden ganze Zeilen bearbeitet. Aus diesem Grund ist es sinnvoll, dass eine Zählung zwischen den beiden d
s auftreten kann.
d
wirkt als Bestätigung; So ist es das gleiche wied3<CR>
.y3y
undc3c
funktionieren auch gleich ... Ich kann keine Dokumente dazu finden, obwohl entweder in der Vim: help, vi (1), nvi (1) oder der POSIX-Spezifikation ... Es verhält sich invi
undnvi
btw. gleich .