как выбрать / удалить до конца файла в vim / gvim?

<p>случайно мне удалось скопировать и вставить абзац в vim миллион раз. как выбрать, а затем удалить текст из моей текущей позиции в конец файла?</p><p>в windows это будет ctrl-shift-end, а затем delete.</p>

<pre><code>vgx </code></pre><p>войдите в визуальный режим, перейдите в конец файла, удалите.</p><p>в качестве альтернативы вы можете сделать:</p><pre><code>vggx </code></pre><p>удалить из текущей позиции в начало файла.</p>

<p><kbd>d</kbd> это удалить и <kbd>g</kbd> перемещается в конец файла, поэтому <kbd>dg</kbd> удалит в конец файла. это включает в себя всю текущую строку, хотя; если вы находитесь на средней линии и хотите сохранить все до текущей позиции, вам нужно использовать <a href="https://unix.stackexchange.com/questions/13904/how-to-select-delete-until-end-of-file-in-vim-gvim/13905#13905">метод марка</a> </p>

<p>вы также можете просто напечатать <kbd>u</kbd> отменить изменения, которые привели к ошибочному копированию-вставке.</p>

<p>еще один метод: <code>:.,$dэто означает, что в режиме ex, адрес текущей строки до конца и удалить.

vgx отлично работает для многострочного выделения (в данном случае абзаца), но если вы хотите выделить в пределах одной строки, оно действует загадочно (выбирается от курсора до начала строки).в случае выбора в пределах одной строки вы должны использовать:v$x </code></pre><p>который входит в визуальный режим ("v") и переходит в конец строки ("$") и удаляет ("x") от текущей позиции до конца строки.

vggx не работал для меня, но vg $ d работал. vg $ выбирает eof (последний символ последней строки), затем любую команду, которую вы хотите выполнить.</p><p>= этот подход (команда <em>после</em> выбор), кажется, работает лучше. конечно, я использую vim 8.1 на windows 10 и несколько лет спустя.</p>