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ę?
cut-copy-paste
pfrenssen
źródło
źródło
Odpowiedzi:
Od
:help :yank
:Aby szarpać linię 4, należy wpisać:
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:Możesz oczywiście użyć także innych zakresów. Kilka przykładów:
:1,3yank
:%yank
:.,$:yank
:.,+3yank
:-3,.yank
:-3yank
Najbardziej 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ę;:.,+3yank
i:,+3yank
są takie same)+n
i-n
.Zobacz
:help [range]
więcej informacji.źródło
:4yank
z:4y
Oprócz odpowiedzi Carpetsmokera, powinienem zwrócić uwagę na niesamowite
:help :m
i:help :t
.Jeśli chcesz skopiować wiersz 4 bezpośrednio pod bieżącym wierszem, możesz to zrobić:
lub jeśli chcesz skopiować tę linię bezpośrednio nad bieżącą linią:
źródło
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
).źródło
Po prostu wpisz
do szarpnięcia linii 4
przejdzie do rejestru bez nazwy. Następnie (na przykład) możesz użyć,
p
aby umieścić go w innym miejscu. Możesz także użyć[n]p
np. 10p, aby wkleić go 10 razy.Możesz umieścić go w nazwanym rejestrze, takim jak „a” za pomocą
źródło
4G"ayy
.Możesz to zrobić
Ustawienie względnej liczby pomaga również w przemieszczaniu się między wierszami kodu.
Teraz możesz skopiować 5. linię nad kursorem za pomocą:
źródło