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.

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.


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).


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.


14

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

d + d

Wklej zawartość schowka :

(Przytrzymaj) Shift+P


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


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.


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ę.

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.