Это проблема, с которой я столкнулся недавно. У меня есть файл с несколькими сотнями строк текста. Как я могу найти строку между двумя конкретными номерами строк? Например, я хочу искать между строками с номерами 100 и 325.
15
Это проблема, с которой я столкнулся недавно. У меня есть файл с несколькими сотнями строк текста. Как я могу найти строку между двумя конкретными номерами строк? Например, я хочу искать между строками с номерами 100 и 325.
:100,235g/foo/#<CR>
затем нажмите, :147<CR>
чтобы перейти к нужной строке.
Вы также можете использовать :ilist
:
:100,235il foo<CR>
Видите :help range
, :help :global
и :help :ilist
.
Есть другой способ поиска между конкретными строками.
/%>{linenumber}l\%<{linenumber}{pattern}
Пример:
/%>199l\%<300lgood
Будет выполнен поиск по строке 200–299 шаблона «хорошо».
%>199l - l is for line, >199 denotes the lines greater than 199
100GV325G<esc>
/\v%Vpattern
100GV325G<esc>
визуально выберите строки от 100 до 325, вернитесь в normal
режим./\v%Vpattern
используйте :h /\%V
для ограничения диапазонов поиска до последней визуальной области.Если ваш шаблон содержит новую строку, вы должны добавить еще один, \%V
чтобы ограничить конец шаблона в визуальной области:
100GV325G<esc>
/\v%Vpattern%V
:h /\%V
Иногда вам нужно искать данный символ в функции / методе
void f(bool b)
{
b;
b;
}
void g(bool b)
{
b;
b;
b;
b;
}
Для того , чтобы искать b
в f()
только:
{
изf()
V
f()
с '%'il b
чтобы получить
:'<,'>il b
После <CR>
(введите) вы получите
b.cpp
1: 15 b;
2: 16 b;
Press ENTER or type command to continue
%
визуальным режимом, могут найти их полезными. Во-вторых, нет необходимости явно вводить диапазон строк.ilist