Для поиска символов по шаблону вы
можете использовать команды /, ?, 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 |
Повторить последнюю
команду поиска в обратном
направлении |
|