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.