VIM: Искать только между определенными номерами строки?

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

:12,24s/search/replace

Я хочу смочь указать диапазон с нормальными поисками также. Что-то как

:12,24/search

Так как это, кажется, не работает (по крайней мере, на моей конфигурации Vim), кто-либо знает, как достигнуть этого?

Спасибо.

39
задан Thomas 16 July 2010 в 10:59
поделиться

4 ответа

:help search-range

и затем

:help /\%>l

так по существу:

/\%>12l\%<24lsearch
33
ответ дан 27 November 2019 в 02:10
поделиться

Вам действительно нужны номера строк? Другим способом может быть визуальное выделение диапазона.

  1. выделите диапазон с помощью v, V или чего угодно
  2. нажмите ESC, чтобы снять выделение диапазона
  3. выполните поиск с помощью /\%Vwhat_to_search для поиска 'what_to_search' в ранее выбранном диапазоне.

Это меньше, чтобы набрать, но не прямо то, что вы просили ;-)

Смотрите :help %V

[EDIT] Отлично, я только что узнал, что диапазон для поиска может быть изменен после выполнения поиска путем выбора другого диапазона, снятия выделения этого диапазона нажатием ESC и нажатием n для повторения поиска. Vim действительно всегда радует приятными сюрпризами.

21
ответ дан 27 November 2019 в 02:10
поделиться

Отличный ответ от Акиры. Но покопавшись, я нашел альтернативу. Это не так элегантно, но проще набрать:

 :12,24g/search/

Это даст вам одно раздражающее приглашение, но оно закончится на первой строке в диапазоне, содержащем искомую строку.

37
ответ дан 27 November 2019 в 02:10
поделиться

Продолжайте использовать команду подстановки, но добавьте флаги gc к вашему исходному примеру.

:12,24s/search//gc

From :help search-range

[Для поиска в диапазоне] используйте команду команду ":replace" с флагом 'c' флаг.

Пример: :.,300s/Pattern//gc

Эта команда будет искать от курсора до строки 300 для "Pattern". При нахождении совпадения вы можете набрать 'q' для остановки или 'n' для поиска следующего совпадение.

16
ответ дан 27 November 2019 в 02:10
поделиться
Другие вопросы по тегам:

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