2010-02-16 11 views
5

Ich weiß nicht, ob es ein verzögertes Problem ist, aber es ist ein komisches Dilemma. Wenn ich Text löschen möchte, den ich woanders platzieren möchte, aber dieser Ort hat andere Bündel von Text, die ich nicht möchte, würde ich diesen Text löschen, aber dabei kopiere ich eine neue Zwischenablage, damit der vorher gelöschte Text verschwindet .Löschen (gewünschter Text), Löschen (unerwünschter Text) und Einfügen (gewünschter Text) in Vim

Irgendwelche Vorschläge, um das zu lösen?

Antwort

9

Einige möglichen Lösungen:

den unerwünschten Text zuerst löschen :)

oder

Wenn die gewünschten Textspeicher löscht es in einem Register mit Ausnahme der Standardregister z.B.

"bd$ 

Dann löschen Sie Ihren unerwünschten Text: den gewünschten Text an das Ende der aktuellen Zeile und speichern sie im Register b zu löschen.

fügen Sie dann den Inhalt des Registers b:

"bp 

oder

den unerwünschten Text in das schwarze Loch Register löschen, wie in der Antwort vorgeschlagen verknüpft durch Yarek T mit:

"_d 
6

vielleicht könnte diese Frage etwas Licht auf Ihr Problem werfen. 54255

Es verwendet den "Black Hole Buffer", um Zeilen zu löschen, ohne sie zum Yank-Puffer hinzuzufügen.

2

Eine andere Lösung ist die Nummer reg iters. Wenn Sie einen Textblock löschen, wird er in das Register 1 verschoben, der aktuelle Inhalt des Registers 1 wird in das Register 2 verschoben usw. Der Inhalt des Registers 9 wird verworfen. Dies funktioniert jedoch nur bei Änderungen, die länger als eine Zeile sind. Daher werden kleine Löschvorgänge nicht erfasst.

So können Sie den ersten Bereich löschen, um den zweiten Bereich löschen, dann fügen Sie aus dem Register 2.

Persönlich bevorzuge ich Register az zu verwenden, aber die nummerierten Register sind nützlich, wenn Sie einen Text löschen und dann Sie erkennen, habe vergessen, ein Register anzugeben.

Do :help "1 für weitere Informationen.

Sie können auch sehen, was zur Zeit alle in den Registern, einschließlich 1-9, mit :registers

2

Typ:

:registers 

Und Sie werden eine Liste von Registern erhalten, die alle bisherigen Deletionen . Sie können immer einen zum Einfügen auswählen. Z.B.für Register:

"1 Item1^J 
"2 Item3^J 
"3 Item2^J 

die zweite holen und fügen Sie ihn mit:

"2p 
Verwandte Themen