Ich habe gestern gerade mit Vim angefangen und habe Probleme, Copy & Paste zu verstehen. Ich verstehe zu kopieren, ich gehe in den visuellen Modus, hebe hervor und ziehe dann. Ich gehe dann zu der Zeile, in die ich einfügen möchte, aber in den meisten Fällen muss ich keinen Text aus dieser Zeile löschen. Ich mache das mit x
oder dw
. Dies führt dann dazu, dass meine Originalkopie überschrieben wird ( x
und dw
zu schneiden scheint). Wie komme ich darum herum?
Um es in ein Beispiel zu fassen
$foo = $this->foo->property;
thislineuses($foo);
Also mit dem obigen Code, den ich kopiere $this->foo->property
, möchte ich dann in Zeile 2 gehen, löschen $foo
und einfügen. Ich habe das Problem, wenn ich $foo
aus Zeile 2 lösche , wird dies stattdessen eingefügt $this->foo->property
.
Sie können in ein benanntes Register kopieren
"ayw
, löschen und dann aus dem benannten Register einfügen"ap
.Normalerweise ist es jedoch einfacher, die Reihenfolge zu ändern, in der Sie die Dinge erledigen. Führen Sie das Einfügen und dann das Löschen durch, oder löschen Sie und führen Sie das Kopieren / Einfügen durch.
Alternativ können Sie auch in das Black-Hole-Register löschen
"_d
. Siehe /programming//q/54255/70863quelle
Sie haben verschiedene Register, in denen Sie verschiedene Textwerte speichern können. Wenn Sie Text in einem anderen Register als dem Speicherort des gelöschten Texts speichern möchten (z. B. mit xoder d w), verwenden Sie Folgendes:
So speichern Sie Text im Register
a
:a
)a
)Sie können für jeden Buchstaben auf der Tastatur und für jede Zahl ein Register verwenden. Wenn Sie Text löschen, werden diese Register nicht verwendet, sodass der Text im Register verbleibt, bis Sie Ihre Sitzung beenden oder manuell etwas anderes hinzufügen.
quelle
Sie müssen nicht die gesamte Zeile markieren, wenn Sie
v
(im Gegensatz zuV
) den visuellen Modus verwenden. Wenn Sie danach fragen.Wenn Sie kopierten Text ändern möchten, müssen Sie zuerst die Teile kopieren und löschen.
Und wenn du kopieren willst, dann ändere das Original und füge es dann ein. Dann kannst du in ein anderes Register ziehen. Wie
"2y
, dann ändern, dann woanders hingehen und"2p
.quelle