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ć?

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:


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 <bugzilla@redhat.com> 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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.