Antworten:
"dap" löscht eigentlich nicht alles. Versuchen Sie beispielsweise, dies in Ihren Puffer zu legen:
1
1
2
2
3
3
Stellen Sie dann Ihren Cursor auf '2' und geben Sie "dap" ein. Es wird die 1er und 3er verlassen.
Dies liegt daran, dass "dap" einen Absatz löscht . In der Tat ist das eigentlich das Mnemon: "(D) elete (A) (P) aragraph". Sie finden es in der Hilfe unter :h ap
:
*v_ap* *ap*
ap "a paragraph", select [count] paragraphs (see
|paragraph|).
Exception: a blank line (only containing white space)
is also a paragraph boundary.
When used in Visual mode it is made linewise.
Dies wird als "Textobjekt" bezeichnet. Sie können darüber lesen unter :,:h text-objects
oder Sie können diesen fantastischen Artikel über Textobjekte lesen .
In beiden Fällen besteht die Grundidee von Textobjekten darin, dass Sie die Grenzen eines Objekts definieren und dann Befehle auf das gesamte Objekt anwenden, selbst wenn Sie sich in der Mitte befinden. Ich bin mir zum Beispiel sicher, dass Sie damit dw
ein Wort löschen können. Aber was ist, wenn Sie in diesem Szenario sind?
Hello world
Cursor: ^
Wenn Sie tippen dw
, haben Sie immer noch die wo
linke Seite. Wenn Sie tippen diw
, wird das Wort innerhalb des Wortes gelöscht , sodass es zum größten Teil der Eingabe entspricht bdw
.
Wie kann ich so etwas für mich selbst herausfinden?
Sie hatten die Grundidee unten! Das Überprüfen der Hilfe ist immer ein guter Anfang. In diesem Fall hätten Sie erkennen können, dass d
es sich um einen Operator handelt. Die Hilfe, nach der Sie wirklich gesucht haben, war in diesem Fall das Argument für den Operator ap
.
diw
und bde
sind doch nicht ganz die Gleichen: wenn dein Cursor am Anfang eines Wortes steht. Befindet sich der Cursor auf einem Leerzeichen zwischen Wörtern, bdw
wird das Wort links und daw
das Wort rechts gelöscht. Ich denke, die ursprüngliche Antwort "zum größten Teil ..." ist wahrscheinlich die beste, die wir in Bezug auf diese Äquivalenzen erhalten werden.