7.11. Поиск символов по шаблону: команды / и ?
Для поиска символов по шаблону вы можете использовать команды /, ?, n и N. Эти команды позволяют осуществлять поиск вперед и назад в буфере следующего появления указанного шаблона символов. Команды n и N позволяют вам повторить последний поиск.
Команда / и следующий за ней шаблон (/pattern) ведет поиск вперед по буферу следующего появления символов, указанных в шаблоне и помещает курсор на первый символ из шаблона. Например, командная строка:
/Hello world<CR>
находит первое появление в буфере слов Hello world и
помещает курсор под буквой H.
Команда ? и следующий за ней шаблон (?pattern) ведет поиск в обратном направлении в буфере первого появления символов, указанных в шаблоне и помещает курсор на первый из этих символов. Например, командная строка:
?data set design<CR>
находит предыдущее появление в буфере слов data set design и помещает курсор под буквой d в слове data.
Эти команды поиска не выполняют циклически возврат в случае окончания строки во время поиска двух или более слов. Например, если вам надо найти появление Hello world и окажется, что слово Hello находится в конце одной строки, а слово world - первое слово последующей строки, то эти команды не найдут Hello world.
В то же время, эти команды поиска выполняют циклический возврат в конце или начале буфера для продолжения поиска. Например, если вы находитесь почти в конце буфера, а символы, которые соответствуют шаблону в начале буфера, то команда поиска / найдет шаблон.
Команды n и N позволяют повторить предыдущий запрос поиска /pattern или ?pattern:
n - повторить последнюю команду поиска;
N - повторить последнюю команду поиска в обратном
направлении.
Команды / и ? не дают вам возможности указать конкретное появление шаблона с помощью числа. То есть, вы не можете, например, запросить поиск 3-го появления шаблона, начиная с текущей позиции.
В табл. 10 приведены команды vi для перемещения курсора с помощью прокрутки текста, указания номера строки и поиска по шаблону.
Таблица 10
Дополнительные команды перемещения курсора в редакторе vi
Команда | Действие
|
---|
Прокрутка
|
---|
^f | Прокрутка экрана вперед на полное окно. Откры- вается новое окно с текстом, расположенным ниже текущего окна
|
^d | Прокрутка текста вниз на пол-окна. Открываются строки, расположенные ниже текущего окна
|
^b | Прокрутка экрана назад на полное окно. Откры- вается новое окно с текстом, расположенным выше текущего окна
|
^d | Прокрутка текста вверх на пол-окна. Открываются строки, расположенные выше текущего окна
|
Позиционирование с помощью номера строки
|
---|
1G | Перейти к первой строке в файле
|
G | Перейти к последней строке в файле
|
^g | Выдать номер строки и состояние файла
|
Поиск по шаблону
|
---|
/pattern | Поиск вперед в буфере до первого появления шаблона. Курсор помещается на первом символе шаблона
|
?pattern | Поиск назад в буфере до первого появления шаблона. Курсор помещается на первом символе шаблона
|
n | Повторить последнюю команду поиска
|
N | Повторить последнюю команду поиска в обратном направлении
|
Назад | Содержание | Вперед