Эта команда предназначена для поиска строки, содержащей заданный символ, группу символов или группу слов.
6.11.1. Конструкция /.../
Формат команды:
/текст/
где "текст" - искомый текст.
Редактор просматривает буфер, начиная со строки ".+1" (т.е. следующей за текущей), идет до конца буфера, затем продолжает поиск с первой строки буфера и до текущей строки включительно. При обнаружении строки с заданным текстом редактор распечатывает ее, и эта строка становится текущей.
В случае отсутствия в буфере искомого текста редактор возвращается к текущей строке и печатает символ "?".
Пример.
/lop/
найти в буфере строку, содержащую последовательность символов "lop".
Команда поиска в комбинации с другими командами ("a", "i", "s", "t", "m") может успешно использоваться для указания необходимой строки.
Примеры.
/lop/s//loop/p
найти строку, содержащую слово "lop", и заменить его на "loop", затем распечатать эту строку;
/текст/i
поиск строки, содержащей указанный текст, и вставка перед найденной строкой.
В команде "s" искомый текст в левой части можно не указывать.
6.11.2. Конструкция ?...?
Редактор производит поиск не только в прямом, но и в обратном направлении. Для этого в команде поиска вместо символа "/" используется символ "?":
?текст?
Это удобно в случае, если при редактировании текста необходимо вернуться назад.
6.11.3. Продолжение поиска
Если при поиске строки с искомым текстом оказалось, что это не та строка, то для продолжения поиска нужно задать команду в виде: // - продолжить поиск в прямом направлении; ?? - продолжить поиск в обратном направлении.
6.12. Команда вставки строк (i)
Данная команда используется для вставки в текст строк, вводимых с терминала.
Формат команды:
[n]i<CR>
где n - номер строки в буфере редактора, перед которой надо вставить новые строки.
Если "n" отсутствует, то строки вставляются перед текущей строкой.
Ввод новых строк с терминала завершается символом "." в первой позиции.
Текущей строкой после выполнения командыы "i" становится последняя вставленная строка.
Пример использования команды "i" для вставки 3-х строк перед 7-й строкой:
Пример.
7i<CR>
строка 1<CR>
строка 2<CR>
строка 3<CR>
.<CR>
6.13. Команда замены строк (c)
Команда используется для замены строки или группы строк в буфере редактора.
Формат команды:
[n[, k]]c<CR>
где n, k - номера начальной и конечной заменяемых строк.
По данной команде редактор удаляет строки с номерами от "n" до "k" включительно и заменяет их строками, вводимыми с терминала после команды "c".
Ввод новых строк завершается символом "." в первой позиции и CR.
Если в команде указан номер одной строки, заменяется одна строка.
Если номер строки не указан, то заменяется текущая строка.
Пример замены строк с ".+1" по последнюю.
Пример.
.+1 $c<CR>
... строки текста ... .<CR>
Строки, которые вводятся между командами "c" и ".", займут место исходных строк между начальной строкой и конечной строкой. Это наиболее удобно при замене строки (или нескольких строк), содержащих ошибку.