5

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

Например, если я хочу найти первый экземпляр переменной foobar внутри функции с именем transmogrify , я бы ввел:

/def transmogrify
/foobar

Или, если я нахожусь в файле журнала, и я хочу найти ошибку, которая произошла после определенной даты:

/2012-07-26
/ERROR

Есть лучший способ сделать это? И нет, я не собираюсь записывать макрос.

2 ответа2

8

Самый простой может быть, например,

/def transmogrify/;/foobar
1

Вы можете использовать | символ для выполнения операции ИЛИ при поиске.

Возьмем ваш второй пример, например:

/2012-07-26\|ERROR

Еще лучше, если у вас есть эти наборы в вашем vimrc:

" Make search expressions "very magic"
nnoremap / /\v
vnoremap / /\v

Тогда вам не нужно бежать | , Например:

/\v2012-07-26|ERROR

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .