Как быстро удалить строку в VIM, начиная с позиции курсора?
Я хочу, чтобы удалить оставшуюся часть строки, которую я запускаю в позиции курсора в VIM. Есть ли легкая команда для этого?
Чтобы проиллюстрировать это, перед командой.
The quick brown dog jumps over the lazy fox.
^
|----- Cursor is here.
Это после команды
The q
^
|----- Cursor is here.
Ответы
Ответ 1
(Отредактировано, чтобы добавить комментарии замечательных дополнений:)
D
или его эквивалент d$
удалит остальную часть строки и оставит вас в командном режиме. C
или c$
удалит остальную часть строки и поместит вас в режим вставки, а новый текст будет добавлен в строку.
Это часть vitutor
и vimtutor
, отличная "чтение" для начинающих vim.
Ответ 2
Используйте D. Подробнее см. docs.
Ответ 3
Вы также можете быть заинтересованы в C, он также удалит конец строки, например D, но, кроме того, он поместит вас в режим Вставки в месте расположения курсора.
Ответ 4
Выполнить в командном режиме d$
.
Ответ 5
Нажмите ESC, чтобы перейти в command mode
. Затем нажмите Shift + D.
https://www.fprintf.net/vimCheatSheet.html
Ответ 6
Это очень старый вопрос, но по мере того, как VIM все еще имеет значение, что-то должно быть разъяснено.
Каждый ответ и комментарий здесь по состоянию на октябрь 2018 года ссылался на то, что обычно называют "вырезанным" действием, поэтому использование любого из них заменит все, что в настоящее время находится в неименованном регистре VIM. Этот регистр обычно обрабатывается как буфер копирования/вставки по умолчанию, поэтому ни один из этих ответов не будет работать по желанию, если вы удалите остальную часть строки, чтобы вставить что-то в одно и то же место после того, как все, что было просто удалено, будет впоследствии вставлено вместо того, что раньше дергалось.
Истинная команда удаления в контексте OP - "_D
(или "_C
если требуется режим вставки "). Это отправляет удаленный контент в регистр черных дыр, обозначенный символом "_
, где он больше никому не будет беспокоить (хотя вы все еще можете отмените это действие, используя u
).
При этом все, что было последним, было сохранено в регистре 0, и даже если оно будет заменено в неназванном регистре, оно все равно может быть вставлено с помощью "0p
.
Узнайте больше о регистре черных дыр и о регистрах в целом для дополнительного удовольствия от VIM!
Ответ 7
D
или dd
удаляет и копирует строку в регистр. Вы можете использовать Vx
который удаляет только строку и остается в нормальном режиме.