Ответ 1
Попробуйте d t space. Обычно d t x удаляется из текущего положения до момента x
. Просто t x перемещает курсор непосредственно перед символом x
в текущей строке.
Чтобы удалить до и включите пробел, используйте d f space.
Часто при разработке я сталкиваюсь с вложенным объектом, который я бы хотел удалить из кода в середине строки, например:
htmlDoc.WriteLine("<b><h3>" + this.cbAllSyncs.SelectedItem.ToString() + "</h3></b>");
Часть, которую я хочу удалить:
this.cbAllSyncs.SelectedItem.ToString()
Я знаю, что могу подсчитать количество слов и периодов и ввести 7 d w для удаления из текущей позиции курсора "this". Однако то, что мне было бы интересно сделать, - это вовсе не учитывать и удалять пространство с помощью одной команды. Это возможно?
Попробуйте d t space. Обычно d t x удаляется из текущего положения до момента x
. Просто t x перемещает курсор непосредственно перед символом x
в текущей строке.
Чтобы удалить до и включите пробел, используйте d f space.
Вы можете использовать d W или d E как @glenn, если вы не хотите удалять само пространство.
A WORD (верхний регистр W) состоит из последовательности непустых символов, разделенных белым пространство.
Посмотрите на движения слов.
одним из возможных решений является использование удаления с поиском.
поэтому введите d/<space>
, и vim удалит, пока он не достигнет пробела.
Если вы хотите удалить из в любом месте внутри WORD и в одной команде, просто используйте
daW
(вы можете, конечно, использовать d a w, если хотите ограничить слово)
Я использую его довольно много, потому что он пощадит переход к началу слова (в вашем случае)
d t space - ответ на ваш вопрос, но d f + выглядит так, что он лучше решает вашу проблему.
удалить для текущей позиции конкретный пример символа
dt"
удалить слово из курсора позиции до конца слова
dw
удалить все слово, в котором находится курсор, независимо от положения курсора на слове, это также помещает вас в режим вставки, чтобы вы могли сразу вставить.
diw