Jak wyciąć całą linię w vimie i wkleić?

198

Wiem, jak używać vpolecenia w vimie, ale potrzebuję czegoś, co usunie całą linię i powinno pozwolić mi wkleić tę samą linię gdzie indziej.

VivekVarade123
źródło

Odpowiedzi:

84

Naciśnięcie Shift+ vspowoduje wybranie całej linii, a naciśnięcie dspowoduje jej usunięcie.

Możesz także użyć dd, co nie wymaga przejścia do trybu wizualnego.

Programmer123123
źródło
38
Lub możesz nacisnąć vv lub dd, które są równoważne bez aktywowania irytującego trybu wizualnego.
jaked122
13
ddłatwiej niż shift + v->d
Kolob Canyon
1
co z cofnięciem ... Próbuję swoich dokumentów i nie mogę ich cofnąć.
Abhishek saharn
19
Co z pastą?
becko
1
Zwykle nie zostawiam komentarzy, ale fakt, że ten facet nie powiedział, jak wkleić i nadal otrzymał zaakceptowaną odpowiedź, sprawił, że mój dzień
Cristian E.
421

ddw trybie komend (po naciśnięciu klawisza Escape) wytnie linię, pw trybie komend wklei.

Aktualizacja:

Aby uzyskać premię, da następnie ruch wycina odpowiednik tego ruchu, więc dwwycina słowo, d<down-arrow>wycina tę linię, a linia poniżej, d50wwycina 50 słów.

yy jest linią kopiowania i działa jak dd .

D tnie od kursora do końca linii.

Jeśli korzystałeś v(tryb wizualny), powinieneś spróbować V(tryb linii wizualnej) i <ctrl>v(tryb bloku wizualnego).

DaedalusFall
źródło
13
Dobra odpowiedź. Dodałbym, Paby wkleić linię przed kursorem w trybie poleceń. I <Ctrl-R>"aby wkleić linię w trybie wstawiania.
Birei
13
I ]pwkleić z prawidłowym wcięciem. Ale powinniśmy uważać, aby nie opublikować tutaj całej instrukcji vima :).
DaedalusFall
16

Istnieje kilka sposobów wycięcia linii, wszystkie kontrolowane przez dklawisz w trybie normalnym. Jeśli używasz trybu wizualnego ( vklawisz), możesz po prostu nacisnąć dklawisz po zaznaczeniu regionu, który chcesz wyciąć. Przejdź do lokalizacji, którą chcesz wkleić, i naciśnijp klawisz, aby wkleić.

Warto również wspomnieć, że możesz kopiować / wycinać / wklejać z rejestrów. Załóżmy, że nie masz pewności, kiedy i gdzie chcesz wkleić tekst. Możesz zapisać tekst do maksymalnie 24 rejestrów oznaczonych literą alfabetu. Po prostu wstaw polecenie z '(pojedynczy cudzysłów) i listem rejestracyjnym (przez z). Na przykład możesz użyć trybu wizualnego ( vklawisz), aby zaznaczyć tekst, a następnie wpisać, 'adaby wyciąć tekst i zapisać go w rejestrze „a”. Po przejściu do miejsca, w którym chcesz wkleić tekst, wpisz tekst i 'apwklej zawartość rejestru a.

dsummersl
źródło
14

Usuń bieżącą linię i skopiuj do schowka:

d + d

Wklej zawartość schowka :

(Przytrzymaj) Shift+P

Kanion Kolob
źródło
12

Powiedzmy, że chcesz wyciąć linię bbbi wkleić ją pod linią---

Przed:

aaa
bbb
---

Po:

aaa
---
bbb
  1. Umieść kursor na linii bbb
  2. Naciśnij d+d
  3. Umieść kursor na linii ---
  4. naciśnij p

wprowadź opis zdjęcia tutaj

komandor niestandardowy
źródło
11
  1. naciśnij „V” w trybie normalnym, aby wybrać całą linię
  2. następnie naciśnij „y”, aby go skopiować
  3. przejdź do miejsca, w którym chcesz go wkleić i naciśnij „p”, aby wkleić za kursorem lub „P”, aby wkleić przed nim.
ojas mohril
źródło
7

Najszybszym sposobem, jaki znalazłem, jest tryb edycji:

  1. Naciśnij, yyaby skopiować linię.
  2. Następnie, ddaby usunąć linię.
  3. Następnie pwklej linię.
Vadoff
źródło
4

Tylko trzy kroki.

  1. W trybie poleceń przejdź do pozycji początkowej tekstu, który chcesz skopiować, i naciśnijv
  2. Przejdź do końcowej pozycji tekstu i naciśnijd
  3. Przejdź do miejsca, które chcesz wkleić, i naciśnijp
sumedhe
źródło