2016-05-25 21 views
1

Wenn ich eine Zeile kopieren möge, und es in der aktuellen Zeile einfügen nach der aktuellen Zeile um den Inhalt zu löschen, hat ich am Ende die gleiche Linie einfügen nach oben, die als der Zwischenablage Eintrag wird nach dem Pressen dZugriff auf alte Einträge von Vim Clipboard?

Antwort

6

Sie den vorherigen Inhalt des ungenannten Register zugreifen können mit Registern "1 bis "9:

"3p 

Register "0 enthält immer die letzte explizite Ziehen:

"0p 

Und Sie können zu einem benannten Register "a zu "z zu zerren. Wenn Sie später einen Ausschnitt speichern möchten, mit dem Namen Registern ist ein sehr gute Idee:

"ey 
"ep 

:help registers See.

+0

Wo wird der zweitletzte Jank gespeichert? Scheint, dass es nicht in 1 für mich gespeichert ist? – spharish

2

geändert gelöscht zu ersetzen die aktuelle Zeile mit dem, was in der Zwischenablage ist, können Sie diese Zeile auswählen und einfügen. dh tun, um eine

Shift-vp

1

Zusätzlich zu den über Registern enthaltenen Informationen bereits, können Sie

:reg 

geben Sie eine Liste von dem, was zur Zeit in allen Registern gespeichert ist.

Sie dann den 2-stelligen Code verwenden kann, die auf der linken Seite angezeigt wird (beginnend mit einem " zB. "2), gefolgt von p während im normalen Modus, den Inhalt dieses Registers einzufügen.

+0

Gibt es eine Möglichkeit, den Inhalt des Registers zu kennen, ohne zu tippen: reg, wie zuletzt in 0, zweitletztes in 1, usw. Weil ich oft den zweitletzten Wert brauche? – spharish

+0

Ich bin unsicher über Yanks, aber gelöschte Inhalte werden in aufeinanderfolgenden Registern gespeichert. So wird "0" immer den letzten Yank enthalten (es sei denn, es wurde ein anderes Register angegeben). "" 1 "enthält den Inhalt des letzten Lösch- oder Änderungsbefehls. Wenn Sie danach einen weiteren Löschvorgang durchführen, wird der Inhalt von Register "1" zu "2" und der kürzlich gelöschte Inhalt zu "1". – Shinkawa91