Как искать в выделенном блоке кода с помощью vim

Скажем, я хочу найти конкретный текст с помощью функционального блока. Настоящий способ, который я реализую, - это выбор блока кода из скобок функций с помощью vi{ а затем скопировать его и вставить в новый файл. После этого я ищу текст в новом файле с /<search-text>

Я хочу знать, есть ли короткий путь к этому?

3 ответа

Решение
vi{
:'<,'>g/foo/#

'<,'> диапазон вставляется автоматически.

Увидеть :help range а также :help :g,

Я думаю, что это может быть то, что вы ищете:

Ограничение области поиска для кода в Vim

С помощью /\%Vsearch pattern должен получить то, что вы хотите, после того, как вы выбрали блок кода, в котором вы хотите искать. Вы входите в визуальный режим, нажимая v и перемещая курсор вокруг, чтобы выделить блок, в котором вы ищете.

Надеюсь это поможет!

Почти такой же вопрос был задан на прошлой неделе на vi.SE.

В то время как \%V может ограничить поиск текущим визуально выделенным текстом (который является точным ответом на ваш вопрос, но не косвенно выраженной потребностью), выбор текущей функции намного сложнее, чем простой vi{, Идеальный и простой способ выбора текущей функции требует сценариев. Вот где мой ответ на vi.SE вступает в силу.

Другие вопросы по тегам