Сочетание поискового движения с янки - PullRequest
6 голосов
/ 16 февраля 2011

y/ или y? до yank до тех пор, пока конкретный поиск не станет повышением производительности, на которое я часто полагаюсь, но что-то беспокоило меня некоторое время, и мои поиски в документах и ​​в Интернете не дали результатов ответ пока: как вы можете выбрать другой удар в середине поискового движения янки? например, скажем, у меня есть буфер со следующим содержимым:

1: foo bar

2: foo baz

3: This line contains the cursor.

Скажите, что я набираю y?foo в обычном режиме и понимаю, что я не хочу foo в строке 2, но его появление в строке 1; есть ли клавиша, которую я могу нажать в этой точке, чтобы перемещаться между различными попаданиями, прежде чем выбрать тот, который мне нужен для завершения операции по удалению? (n и N не применяются, поскольку они изменяют шаблон поиска)

Этот простой пример не соответствует обычному большому буферному контенту, с которым я имею дело, и поэтому я не смогу заранее просмотреть результаты поиска. Кроме того, иногда я мог ошибиться и понять, что хочу найти другое происшествие в середине операции. В принципе, я хочу иметь возможность лениво менять курс во время операции.

Ответы [ 3 ]

8 голосов
/ 16 февраля 2011

Поскольку это интерактивный режим, используйте визуальный режим:

v?foo<cr>ny

Учитывая ваш пример буфера выше, он будет искать "foo" в обратном направлении, найдет другое (обратное) совпадение, а затем восстановит весь (визуально) выделенный текст.

Режим визуальной строки - прописная буква V, а также часто полезная. Режим визуального блока - ctrl-V и иногда полезен.

4 голосов
/ 16 февраля 2011

Отметьте свое место, ищите и дергайте до отметки:

ma
?foo
n
y`a
1 голос
/ 16 февраля 2011

Ну, вы можете изменить свое регулярное выражение так, чтобы оно совпадало только до определенной строки:

y?foo\%<2l

Я думаю, что проще использовать визуальный режим, чтобы убедиться, что вы набираете абсолютно правильный текст:

v?foo<CR>y
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...