Jak wybrać / usunąć do końca pliku w vim / gvim?

42

Przypadkowo udało mi się skopiować i wkleić akapit w vimie zillion razy. Jak wybrać, a następnie usunąć tekst z mojej bieżącej pozycji do końca pliku?

W systemie Windows będzie to Ctrl-Shift-End, a następnie Usuń.

ripper234
źródło
Vim cofnął. Prasa u.
Kusalananda

Odpowiedzi:

49
VGx

Wejdź w tryb wizualny, przejdź do końca pliku, usuń.

Alternatywnie możesz:

Vggx

Aby usunąć z bieżącej pozycji na początek pliku.

Mark Szymański
źródło
1
Ugh, nigdy nie zapamiętam tych wszystkich skrótów vim. Skróty systemu Windows są o wiele bardziej intuicyjne.
ripper234
Osobiście uważam, że vim jest bardziej intuicyjny. V, wejdź w tryb wizualny G, prawie jak „idź” na koniec pliku. I x, usuń.
Mark Szymański
10
@ ripper234: nie próbuj zapamiętywać „fragmentów” w celu wykonania określonych zadań, skup się na podkomendach. To część magii vima: używanie tych mniejszych poleceń do budowania większych, bardziej złożonych rzeczy. Jest prawie nieskończenie elastyczny.
Reid
I to naprawdę bardzo pomaga poświęcić czas i przeczytać odpowiednie sekcje vim-help-with z: h command-you-need-help-for
Gjallar
1
Aby dodać do tego: uruchom vimtutorz wiersza polecenia, aby się z nimi zapoznać @ ripper234
Bernhard
48

dusuwa i Gprzenosi na koniec pliku, więc dGusunie się na koniec pliku. Obejmuje jednak całą bieżącą linię; jeśli jesteś na linii środkowej i chcesz zachować wszystko przed bieżącą pozycją, musisz użyć metody Marka

Michał Mrożek
źródło
+1 Innym sposobem zachowania części bieżącej linii jest D<enter>dG: Dusunięcie do EOL, <enter>przejście do następnej linii, dGusunięcie do EOF.
Jim L.
8

Jeszcze inna metoda: :.,$d

Oznacza to, że w trybie ex adres bieżącej linii należy zakończyć i usunąć.

Keith
źródło
7

Możesz także po prostu wpisać, uaby cofnąć zmiany, które spowodowały błędne kopiowanie-wklejanie.

Vimmar
źródło
nie zawsze jest to możliwe, patrz „wybierz”. Wyobraź sobie, że napisałeś jakiś kod na końcu pliku (i chcesz go gdzie indziej), dG pozwala na wstawienie za pomocą p | P
relascope
2
vGx

działa dobrze przy zaznaczaniu wielu linii (w tym przypadku akapicie), ale jeśli chcesz wybrać w obrębie jednej linii, działa on tajemniczo (wybiera od kursora do początku linii).

W przypadku wyboru w Pojedynczej linii musisz użyć:

v$x

Który wchodzi w tryb wizualny („v”) i przechodzi na koniec linii („$”) i usuwa („x”) z bieżącej pozycji do końca linii.

Kayvan Tehrani
źródło
0

Vggx nie działało dla mnie, ale vG $ d działało. vG $ wybiera EOF (ostatni znak ostatniej linii), a następnie dowolne polecenie, które chcesz wykonać.

= To podejście (polecenie po zaznaczeniu) wydaje się działać lepiej. Oczywiście używam Vima 8.1 na Windows 10 i kilka lat później.

użytkownik3473636
źródło