Как быстро удалить строку в VIM, начиная с позиции курсора? - PullRequest
255 голосов
/ 28 ноября 2011

Я хочу иметь возможность удалить оставшуюся часть строки, с которой я начинаю, с позиции курсора в VIM. Есть ли простая команда сделать это?

Чтобы проиллюстрировать это, это перед командой.

The quick brown dog jumps over the lazy fox.
     ^
     |----- Cursor is here.

Это после команды

The q
     ^
     |----- Cursor is here.

Ответы [ 7 ]

410 голосов
/ 28 ноября 2011

(отредактировано, чтобы включить хорошие дополнения комментатора:)

D или его эквивалент d$ удалит остальную часть строки и оставит вас в командном режиме.C или c$ удалит оставшуюся часть строки и переведет вас в режим вставки, и к строке будет добавлен новый текст.

Это часть vitutor и vimtutor, отлично"читает" для начинающих vim.

40 голосов
/ 28 ноября 2011

Используйте D .См. документы для получения дополнительной информации.

19 голосов
/ 28 ноября 2011

Вас также может заинтересовать C , он также удалит конец строки, например D , но дополнительно он переведет вас в режим вставки в месте нахождения курсора.

8 голосов
/ 28 ноября 2011

Выполнить в командном режиме d$.

6 голосов
/ 15 августа 2017

Нажмите ESC , чтобы сначала войти в command mode. Затем нажмите Shift + D .

https://www.fprintf.net/vimCheatSheet.html

4 голосов
/ 18 октября 2018

Это очень старый вопрос, но поскольку VIM все еще актуален, кое-что следует уточнить.

Каждый ответ и комментарий здесь по состоянию на октябрь 2018 г. ссылался на то, что обычно называют «действием сокращения», поэтому использование любого из них заменит то, что в настоящее время находится в безымянном регистре VIM . Этот регистр, как правило, обрабатывается как буфер обмена по умолчанию для копирования / вставки, поэтому ни один из этих ответов не будет работать должным образом, если вы удаляете остальную часть строки, чтобы вставить что-то в том же месте впоследствии, поскольку все, что было только что удалено, будет впоследствии вставлено вместо того, что было выдернуто раньше.

Истинная команда удаления в контексте OP: "_D (или "_C, если требуется режим вставки). Это отправляет удаленное содержимое в регистр черная дыра , обозначенный "_, где это больше никого не побеспокоит (хотя вы все еще можете отменить это действие, используя u).

При этом все, что было в последний раз дернуто, сохраняется в регистре 0 , и даже если его заменяют в безымянном регистре, его можно вставить с помощью "0p.

Подробнее о регистре черной дыры и регистрах в целом для дополнительного удовольствия от VIM!

3 голосов
/ 05 декабря 2018

D или dd удаляет и копирует строку в регистр. Вы можете использовать Vx, который удаляет только строку и остается в обычном режиме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...