Удалить от курсора до первого символа x (охватывающего несколько строк)

12

Я знаю, что я могу удалить от курсора до и в том числе первого вхождения символа х с dfx. Это работает только на одной строке. Как я могу удалить из текущей позиции курсора до первого вхождения x, когда x находится не в той же строке?

Например, если курсор находится после первого пробела в

Яда Яда Яда Яда
Яда Яда Яда X Яда Яда Яда X

и я печатаю dfxрезультат должен быть:

болтовня

Эрвин Ройяккерс
источник
2
в вашем примере вы, кажется, хотите удалить до последнего x
случая
@ guillem ты прав. Это была ошибка копирования-вставки. Во всяком случае, я попытался выполнить то, что я просил на примере, с ошибкой, но мне не удалось это сделать. Я задал еще один вопрос: удалить из курсора до n-го вхождения символа x .
Эрвин Ройяккерс

Ответы:

21

Использовать /для прямого поиска:

d/x<CR>

и ?для обратного поиска:

d?x<CR>
romainl
источник
10

Я хотел прокомментировать ответ Роменля, но у меня пока недостаточно репутации!

Хотя для этого требуется еще одно нажатие клавиши, я считаю полезным сделать, v/x<CR>dчтобы увидеть часть, которая удаляется.

Амир Х. Садуги
источник
1
Это правильный ответ. Не нужно помещать это в комментарии. Мы говорим только об одном программном обеспечении (с его вариациями), поэтому вам не обязательно нужно придумывать, чтобы получить правильный ответ, достойный ответа.
Подстановочный
@ErwinRooijakkers, вы должны выбрать этот ответ, если вы будете использовать его сейчас.
Пол Эванс
@PaulEvans Я не согласен. Хотя этот ответ имеет для меня большее практическое значение, я думаю, что принятый ответ дает лучший ответ на заданный вопрос (поскольку он выполняет именно то, что запрашивается - я не просил, чтобы текст выделен в первую очередь).
Эрвин Ройяккерс