Vim - выбирает текст, выделенный поиском?

В энергии я часто выполняю поиски для скачкообразного движения к слову или фразе вместо того, чтобы перейти там с h/j/k/l. Затем я совершил нападки n скачкообразно двигаться между случаями.

Скажите, что у меня есть этот текст:

Time flies like an arrow; fruit flies like a banana. - Groucho Marx

Я ввожу /an arrow и хит входит. Та фраза выделяется, и я перехожу к ней с n.

Теперь я хочу визуально выбрать тот текст, возможно, изменить его или удалить его. (Да, я знаю :s команда замены.)

Так как мой курсор в букве "a" в начале "стрелки", я могу совершить нападки v, затем нажмите e пару раз выделить всю фразу. Но у меня есть чувство, что существует более короткое и больше семантического пути. В конце концов, я уже указал текст, которым я интересуюсь.

Как я мог бы составить команду для высказывания "визуально избранный текущий поисковый выбор?"

53
задан 22.12.2010, 18:38

3 ответа

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

/an arrow
v//e

Это входит в визуальный режим, повторяет последний поиск и выбирает до конца.

29
ответ дан 07.12.2019, 08:25

"dumbber" способ сделать это состоит в том, чтобы отобразить ключ (в этом случае F5) как ниже:

nnoremap <F5> v/<c-r>=strpart(@/,1) . '/e+1'<CR><CR>

После /an arrow хит F5.

1
ответ дан 07.12.2019, 08:25

Я нашел это v//e отдельно недостаточно, потому что после выхода из визуального режима, переходя к следующему/предыдущему результату поиска, помещает курсор в конце результата, вместо в его начале, как Вы обычно ожидали бы.

Для фиксации этого мы должны сначала перейти в конец результата поиска (//e) и затем визуально выберите к его началу (v??):

" visually select a search result
nnoremap g/ //e<Enter>v??<Enter>

Удачи.

8
ответ дан 07.12.2019, 08:25

Теги

Похожие вопросы