vi удалить с начала до курсора

Как мы можем использовать vim для удаления символов с начала строки до курсора. Скажем, у нас есть строка «hello world», в то время как курсор находится на «w». Как мы можем удалить с «h» до «w».

46
добавлено
Просмотры: 2
nl ja de

4 ответы

Попробуйте d0 . 0 обозначает начало строки.

83
добавлено
не знаю, что произошло, но когда я вхожу в d0, строка была удалена из моего местоположения курсора в начало строки.
добавлено автор Indrajeet Gour, источник
Если вы находитесь в режиме вставки, вы можете использовать .
добавлено автор Daan Bakker, источник

Я считаю, что следующее должно работать ( d ^ ):

d^

Предполагается, что вы хотите удалить только h , даже если перед ним есть пробел. Он покинет пустое пространство.

31
добавлено

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

Я переместил курсор в позицию, которую я хотел удалить, и нажмите v , чтобы перейти в визуальный режим. Затем я нажал ^ , чтобы выбрать возврат к началу текущей строки, а затем d , чтобы удалить весь выделенный текст.

2
добавлено
Мне нравится этот человек спасибо
добавлено автор Indrajeet Gour, источник

TLDR: Самый простой способ - сделать следующее

  • use the navigate mode
  • set the cursor at whatever line you want
    • press dgg - this will remove everything from cursor to the beginning
    • press dG - this will remove all the lines from cursor till the end of the doc.

Но почему?

gg - goes to the begin of the document
G - navigates at its very end
d - delete mode

Я также искал некоторые комбинации с обозначением d и номера строки, и когда вы редактируете огромные файлы, такие как размер GB, я нашел это немного раздражающим. Например, чтобы удалить первые 3 строки, вам нужно сделать это : 0, d3 , но когда документ превышает 1 миллион строк, для моих глаз трудно читать эту хрень ...

1
добавлено