Як вибрати / видалити до кінця файл у vim / gvim?


42

Випадково мені вдалося скопіювати і вставити абзац vim в мільйон разів. Як вибрати та потім видалити текст із мого поточного положення до кінця файлу?

У Windows це буде Ctrl-Shift-End, а потім Delete.


Vim скасував. Натисніть u.
Kusalananda

Відповіді:


49
VGx

Увійдіть у візуальний режим, перейдіть до кінця файлу, видаліть.

Крім того, ви можете:

Vggx

Видалити з поточного положення до початку файлу.


1
Фу, я ніколи не згадаю всіх цих ярликів vim. Комбінації клавіш Windows просто набагато інтуїтивніше.
ripper234

Особисто я вважаю vim's більш інтуїтивно зрозумілим. V, введіть візуальний режим G, майже як "перехід", до кінця файлу. І х, видалити.
Марк Шиманський

10
@ ripper234: не намагайтеся запам'ятати "фрагменти" для виконання конкретних завдань, зосередьтеся на підкомандах. Це частина магії vim: використання цих менших команд для створення більших, складніших речей. Це майже нескінченно гнучко.
Рейд

І це дуже допомагає витратити час і прочитати відповідні розділи vim-help з: h команда-вам потрібна-допомога-для
Gjallar

1
Щоб додати до цього: запустіть vimtutorз командного рядка, щоб ознайомитись з ними @ ripper234
Bernhard

48

dє видалення та Gпереміщується до кінця файлу, тому dGвидаляється до кінця. Однак він включає весь поточний рядок; якщо ви середньої лінії і хочете зберегти все перед поточною позицією, вам потрібно скористатися методом Марка


+1 Інший спосіб зберегти частину поточного рядка D<enter>dG: Dвидалити в EOL, <enter>перейти до наступного рядка, dGвидалити до EOF.
Джим Л.

8

Ще один метод: :.,$d

Це означає, що в колишньому режимі зверніться до поточного рядка до кінця та видаліть.


7

Ви також можете просто ввести, uщоб скасувати зміни, які призвели до помилкової копії-вставки.


не завжди можливо, див. "Вибрати". Уявіть, що ви написали якийсь код у кінці файлу (і хочете його десь інше), dG дозволяє вставити з p | P
реласкоп

2
vGx

добре працює для вибору декількох рядків (у цьому випадку абзацу), але якщо ви хочете вибрати в межах одного рядка, він діє таємниче (вибирається від курсору до початку рядка).

У разі вибору в межах одного рядка ви повинні використовувати:

v$x

Що переходить у візуальний режим ("v") і переходить до кінця рядка ("$") і видаляє ("x") з поточного положення до кінця рядка.


0

Vggx не працював для мене, але vG $ d зробив. vG $ вибирає EOF (останній символ останнього рядка), а потім будь-яку команду, яку ви хочете виконати.

= Цей підхід (команда після вибору), здається, працює краще. Звичайно, я використовую Vim 8.1 у Windows 10, і через кілька років.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.