Vim - поиск
Поиск - очень распространенное действие, и это одно из наиболее часто используемых нами действий. В этой главе мы увидим некоторую команду, которая позволит эффективно выполнять эти действия.
В этой главе мы обсудим следующие элементы -
- Настройки поиска
- Искать в текущем файле
- Искать в нескольких файлах
- Искать в файлах справки
Искать похожие настройки
Чтобы выполнить инкрементный поиск, выполните следующую команду -
:set incsearch
Чтобы выделить поиск, выполните следующую команду -
:set hlsearch
Эта команда автоматически выделит текущие совпадения. Например, на изображении ниже выделено слово лисы -
Чтобы отключить инкрементный и выделенный поиск, выполните следующие команды -
:set noincsearch
:set nohlsearch
Искать в текущем файле
Искать в прямом направлении
Используйте следующие команды для выполнения поиска в прямом направлении -
Старший Нет | Команда и описание |
---|---|
1 | /<expression> Выражение поиска в прямом направлении |
2 | n Найдите следующее вхождение. Это то же самое и найти следующее |
3 | N Найдите предыдущее вхождение. Это то же самое, что найти предыдущий |
4 | // Повторить предыдущий поиск вперед |
Искать в обратном направлении
Используйте следующие команды для выполнения поиска в обратном направлении
Старший Нет | Команда и описание |
---|---|
1 | ?<expression> Выражение поиска в обратном направлении |
2 | n Найдите предыдущее вхождение. Это то же самое и найти предыдущий |
3 | N Найдите следующее вхождение. Это то же самое, что найти следующий |
4 | ?? Повторить предыдущий поиск в обратном направлении |
Искать слово под курсором
Поместите курсор под любое слово и выполните следующие команды для выполнения операции поиска -
Старший Нет | Команда и описание |
---|---|
1 | * Искать следующее вхождение текущего слова |
2 | # Искать предыдущее вхождение текущего слова |
Искать в нескольких файлах
Используя команду vimgrep, мы можем искать <выражение> в нескольких файлах. Например, ниже команда ищет строку -Jarvis во всех текстовых файлах.
:vimgrep Jarvis *.txt
Обратите внимание, что для перехода к следующему и предыдущему вхождению мы должны использовать следующие команды:
Старший Нет | Команда и описание |
---|---|
1 | :cn Перейти к следующему вхождению выражения |
2 | :cN Перейти к предыдущему вхождению выражения |