Chciałbym wyrwać linię w rejestrze: "{register}y
ale bez nadpisywania tego, co było wcześniej w rejestrze. Często muszę kopiować nieciągłe wiersze w rejestrze i czasami chciałbym używać rejestrów jak stosu.
Przykład:
line1
line2
line3
Chcę skopiować line1
, umieszczając na nim kursor i wpisując "ay
, a następnie kontynuując line3
i wykonując "ay
. Następnie, kiedy to zrobię "ap
, ZARÓWNO line1
ORAZ line3
zostanie wklejony.
Czy to możliwe bez wtyczek? z wtyczkami?
vim
keyboard-shortcuts
Mapad
źródło
źródło
Odpowiedzi:
Jeśli chcesz dołączyć do nazwanego rejestru, użyj odpowiadającej mu dużej litery. czyli w twoim przykładzie:
źródło
Aby rozwinąć odpowiedź MarkB, czy wiesz, że możesz również użyć markerów do wybrania bloku tekstu do szarpnięcia?
Przejdź do pierwszej linii bloku, który chcesz szarpnąć i wprowadź polecenie zaznacz po wybraniu litery jako znacznika, np
następnie przejdź na dół bloku, który chcesz szarpnąć i wprowadź polecenie:
to polecenie oznacza, że weź blok tekstu z wiersza zawierającego mój znacznik o nazwie a do bieżącego wiersza i przeciągnij go do bufora a. Obowiązują te same zasady, co wspomniane w MarkB, użyj nazwy buforu małymi literami, aby nadpisać bufor. Użyj nazwy buforu wielkimi literami, aby dołączyć do bufora. Więc w tym przypadku zostanie to dołączone do zawartości bufora a.
Uwaga: „a” używane do oznaczenia Twojego znacznika nie ma nic wspólnego z „a” używanym do wybierania rejestru. (AFAIK, ale YMMV)
BTW 'a (apostrof a) odnosi się do wiersza zawierającego znacznik a. `a (odwrotny cudzysłów a) odnosi się do znaku pod kursorem, gdy wprowadziłeś ma.
jest przydatne, ponieważ usunie tekst między znakiem oznaczonym znacznikiem a do znaku tuż przed znakiem, który zaznaczyłeś znacznikiem b.
źródło