Miałem na myśli skopiowanie i wklejenie linii 4 do linii 12.
Lazer
Edytowane. Czy tego chciałeś?
Umang
2
Inni wspominali już o najbardziej bezpośredniej metodzie wykonania tej czynności, :4yale chcę dodać dwie uwagi na jej temat, które mogą być przydatne:
Po pierwsze, jeśli wpiszesz :help range, dowiesz się wszystkiego o używaniu zakresów w celu zastosowania do poleceń w stylu Ex. BARDZO przydatne w wielu przypadkach i znacznie bardziej wszechstronne niż używanie numerów linii. Na przykład, jeśli chcesz zaciągnąć pierwszy wiersz rozpoczynający się od „yank” po początku dokumentu (nawet jeśli znajduje się on w pierwszym wierszu), użyj :0/^yank/y. Najpotężniejszą częścią zakresów jest możliwość ich łączenia, np. :./^Chapter/+50?Pete?dOznacza „Znajdź następny wiersz, aby rozpocząć od słowa Rozdział (wyszukiwanie do przodu od bieżącej linii), a następnie przeskocz do przodu o 50 linii i wyszukaj słowo Pete do tyłu, i usuń pierwszy wiersz, w którym go znajdziesz. ” Oprócz tego, że tak naprawdę nie porusza kursorem, po prostu robi to, co mu mówisz.
(Użyłem tego rodzaju specyfikacji zakresu do zautomatyzowania tworzenia dokumentacji, która polega na wyszukiwaniu nazwy funkcji pod kursorem, a następnie szukaniu następnego wiersza z napisem „Opis” i ciągnięciu go do określonego rejestru ... itp.)
Drugą wskazówką jest to, że powinieneś wiedzieć o skokach. Pisz, :help jump-motionsaby dowiedzieć się o tym w pełni, ale sposób, w jaki się tu odnosi, jest taki, że możesz przeskoczyć do linii 4, pociągnąć ją, a następnie POWRÓT za pomocą 4Gyy''(lub użyć strzałek zamiast apostrofów, aby skoczyć z powrotem do dokładnej pozycji początkowej, a nie tylko tej samej linii zacząłeś o.)
Odpowiedzi:
Jeśli kursor jest już w linii 12, to prosty
robi to dla mnie.
źródło
x
? Kiedy próbuję:4x
, dostajęE140: Use ! to write partial buffer
. Dzięki!:4d
Co powiesz na to: Kursor jest w linii 11, jesteś w trybie „vi”.
Najwyraźniej możesz to również zrobić za pomocą wzoru:
Możesz użyć „mo” (ruch) zamiast „co” (kopiowanie), aby po prostu przenieść linię zamiast szarpać i wstawiać.
źródło
:4t.
Spróbuj tego:
źródło
Próbować:
Możesz użyć argumentu lub,
0
aby wkleić do linii1
. Będzie to również działać z zakresami:skopiuje linii
m
przezn
liniik+1
. Ponadto nie ma znaczenia, gdzie jesteś w buforze.move
Poleceniam
, działa podobnie.źródło
To powinno to zrobić:
źródło
Inni wspominali już o najbardziej bezpośredniej metodzie wykonania tej czynności,
:4y
ale chcę dodać dwie uwagi na jej temat, które mogą być przydatne:Po pierwsze, jeśli wpiszesz
:help range
, dowiesz się wszystkiego o używaniu zakresów w celu zastosowania do poleceń w stylu Ex. BARDZO przydatne w wielu przypadkach i znacznie bardziej wszechstronne niż używanie numerów linii. Na przykład, jeśli chcesz zaciągnąć pierwszy wiersz rozpoczynający się od „yank” po początku dokumentu (nawet jeśli znajduje się on w pierwszym wierszu), użyj:0/^yank/y
. Najpotężniejszą częścią zakresów jest możliwość ich łączenia, np.:./^Chapter/+50?Pete?d
Oznacza „Znajdź następny wiersz, aby rozpocząć od słowa Rozdział (wyszukiwanie do przodu od bieżącej linii), a następnie przeskocz do przodu o 50 linii i wyszukaj słowo Pete do tyłu, i usuń pierwszy wiersz, w którym go znajdziesz. ” Oprócz tego, że tak naprawdę nie porusza kursorem, po prostu robi to, co mu mówisz.(Użyłem tego rodzaju specyfikacji zakresu do zautomatyzowania tworzenia dokumentacji, która polega na wyszukiwaniu nazwy funkcji pod kursorem, a następnie szukaniu następnego wiersza z napisem „Opis” i ciągnięciu go do określonego rejestru ... itp.)
Drugą wskazówką jest to, że powinieneś wiedzieć o skokach. Pisz,
:help jump-motions
aby dowiedzieć się o tym w pełni, ale sposób, w jaki się tu odnosi, jest taki, że możesz przeskoczyć do linii 4, pociągnąć ją, a następnie POWRÓT za pomocą4Gyy''
(lub użyć strzałek zamiast apostrofów, aby skoczyć z powrotem do dokładnej pozycji początkowej, a nie tylko tej samej linii zacząłeś o.)źródło
Najkrótszy:
:1t.
kopiuje pierwszy wiersz poniżej bieżącego.Z zakresami:
:1,4t.
kopiuje linie od 1 do 4 (włącznie) poniżej prądu.Możliwe również z względnymi numerami linii:
:-1t.
kopiuje poprzedni wiersz poniżej bieżącego.W twoim przykładzie
:4t-1
skopiowałbyś czwartą linię poniżej poszukiwanej linii.Uwaga:
:t
jest synonimem:co[py]
polecenia.źródło