Vim - удалить до искомой строки - PullRequest
32 голосов
/ 22 декабря 2011

Существует ли комбинация VIM-команда / клавиша, которая будет что-то вроде dt/mystring (которая не работает)?

dta пытается найти букву a в текущей строке , но я бы хотел удалить все, вплоть до искомой строки (возможно, в другой строке).

Ответы [ 4 ]

61 голосов
/ 22 декабря 2011

Попробуйте это

d/mystring

Сама строка не будет удалена.

17 голосов
/ 22 декабря 2011

d/mystring удаляет все до mystring

Редактировать: Ой, слишком медленно: /

16 голосов
/ 22 декабря 2011

Грег Рейнольдс предоставил рабочее решение.
В качестве альтернативы, если шаблон поиска уже определен, используйте:

dn

движение n является эксклюзивным, поэтому первый символ вашего шаблона выиграл 't быть съеденным.

Еще одна альтернатива с плагином Easymotion , которую вы можете использовать <leader><leader>t<first letter of pattern (обычно лидером является обратный слеш);тогда персонаж перед самым шаблоном превратится в букву;введите это письмо, и все готово.

0 голосов
/ 25 сентября 2018

Как вы можете это сделать, не выделяя при поиске и не испортив свой буфер /:

d:echo search('yourpattern')<CR>

Например, чтобы удалить до строки, начинающейся с 'function':

d:echo seatch('^function')<CR>
...