Powiedz, że jestem na linii 20 i chciałbym szarpać linię 4, jak mogę to zrobić?
I podobnie, jak mogę szarpać linię względem mojej pozycji kursora, powiedzmy, że 3 linie w górę?
Powiedz, że jestem na linii 20 i chciałbym szarpać linię 4, jak mogę to zrobić?
I podobnie, jak mogę szarpać linię względem mojej pozycji kursora, powiedzmy, że 3 linie w górę?
Odpowiedzi:
Od :help :yank:
:[range]y[ank] [x] Yank `[range]` lines [into register x].
Aby szarpać linię 4, należy wpisać:
:4yank
Uwaga: możesz to łatwo zrobić w trybie wstawiania za pomocą <C-o>; pozwala to na wykonanie jednego polecenia, po którym powracasz do trybu wstawiania; na przykład:
<C-o>:4yank
Możesz oczywiście użyć także innych zakresów. Kilka przykładów:
:1,3yank:%yank:.,$:yank:.,+3yank:-3,.yank:-3yankNajbardziej przydatne rzeczy do zapamiętania na temat zakresów:
:line1,line2command..jest bieżącą linią (w większości przypadków można pominąć kropkę; :.,+3yanki :,+3yanksą takie same)+ni -n.Zobacz :help [range]więcej informacji.
:4yankz:4y
Oprócz poleceń ex-mode, które masz, możesz to również osiągnąć w trybie poleceń, np .: przez 4GY''co: goto linia 4 ( 4G), yank line ( Y) i powrót do poprzedniej linii ( '').
Możesz także użyć znaków skoku; na drugie pytanie, np. przez: mm3kY'm- co oznacza: ustaw znak m ( mm), przejdź trzy linie w górę ( 3k), yank line ( Y), wróć do znaku m ( 'm).
Po prostu wpisz
:4y
do szarpnięcia linii 4
przejdzie do rejestru bez nazwy. Następnie (na przykład) możesz użyć, paby umieścić go w innym miejscu. Możesz także użyć [n]pnp. 10p, aby wkleić go 10 razy.
Możesz umieścić go w nazwanym rejestrze, takim jak „a” za pomocą
:4y a
4G"ayy.