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 dBedienungsperson auf die 3jBewegung an,
3ddist auch einfach: es führt den ddBefehl mit einem "count" von 3 aus.
d3d sieht so aus als sollte es unkompliziert sein, es wendet die dbedienung 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]dMapping erstellen ?
EDIT : Ist es ein Textobjekt? :h text-objectsSchließ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.txtund :helpgrep dNdfür alle Werte von N von 1 bis 9 versucht .
ddist 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 ds auftreten kann.
dwirkt als Bestätigung; So ist es das gleiche wied3<CR>.y3yundc3cfunktionieren 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 inviundnvibtw. gleich .