Kopiuj z jednego rejestru do drugiego

92

Jak skopiować zawartość jednego rejestru do drugiego bez wklejania do schowka? Wyszarpnąłem jeden tekst i został on w domyślnym "rejestrze. Teraz chcę skopiować inny tekst bez usuwania / nadpisywania "rejestru. Chcę więc przenieść zawartość "rejestru, aby coś powiedzieć alub bzarejestrować, aby móc skopiować nowy tekst do środka ". Jak to zrobić?

bluegenetic
źródło

Odpowiedzi:

116

Aby skopiować lub zamienić wartości między rejestrami, możesz użyć polecenia : let , na przykład, aby skopiować zawartość brejestru do a:

:let @a=@b

Lub skopiuj zawartość "rejestru na a:

:let @a=@"

Sprawdź tę wskazówkę Vima, aby uzyskać dobre sugestie dotyczące mapowania:

Christian C. Salvadó
źródło
1
Jakoś nie mogę sprawić, żeby to zadziałało. Mam dość minimalny vim na tej mcahine. Oto niektóre z moich ustawień. VIM - Vi IMproved 7.0 (7 maja 2006, skompilowany 5 marca 2011 21:36:07) Zawiera poprawki: 1, 3-4, 7-9, 11, 13-17, 19-26, 29-31, 34-44 , 47, 50-56, 58-64, 66-73, 75, 77-92, 94-107, 109, 202, 34-237 Skompilowane przez <[email protected]> Tiny wersja bez GUI.
Paul
1
@Paul, o ile pamiętam, małe i małe zestawy funkcji Vima nie obsługują tego :letpolecenia.
Christian C. Salvadó
Czy możesz wyjaśnić, co to @robi?
Gqqnbig
@jest sposobem pracy z rejestrami jako zmiennymi. Zobacz :help let-registerszczegóły. Możesz po prostu myśleć o tym jako @ao zmiennej, w której aprzechowywany jest rejestr .
cincodenada
7

Możesz zrobić coś takiego:

let @a = getreg('"')

Spowoduje to skopiowanie "rejestru do arejestru.

derobert
źródło