с редактором ed. Ввод двоеточия
Все команды, начинающиеся с двоеточия, - это команды режима совместимости с редактором ed. Ввод двоеточия интерпретируется vi как переход к этому режиму. Как только вы введете двоеточие, оно отобразится в начале служебной строки, и оставшуюся часть команды вы будете набирать, видя ее в этой строке. В качестве служебной строки используется последняя строка экрана.
Перед любой командой vi, где это имеет смысл, за исключением команд, начинающихся с двоеточия, можно набрать число, которое будет указывать, сколько раз требуется повторить идущую за ним команду. Например,
15dd
означает, что нужно вырезать в буфер пятнадцать строк, начиная с текущей.
Важная часть команд - команды поиска и замены. Обычный поиск выполняется командой /образец, т.е. знак "слэш", за которым следует образец для поиска. При поиске назад по файлу вместо слэша используется вопросительный знак. Для продолжения поиска ставится слэш или вопросительный знак без образца. Если в образце встретится слэш или вопросительный знак, vi сочтет их ограничителем образца и проигнорирует остаток образца. Поиск и замена выполняется командой :s/образец/на_что_менять/. В ней указывается образец для поиска и строка, которой следует его заменить. После завершающего слэша может стоять модификатор g. Если его не поставить, заменен будет только первый образец в строке. Если в строке есть еще подстроки, отвечающие образцу, они останутся нетронутыми. Если поставить модификатор g, будут заменены все подстроки, отвечающие образцу.
Все команды режима совместимости с редактором ed могут быть предварены выражением n,m, где n,m - номера строк, ограничивающих диапазон выполнения команды. Если такого выражения нет, команда выполняется для текущей строки. Например:
:23,33s/black/white/g
означает, что нужно заменить все вхождения black на white во всех строках c 23 по 33 включительно. В выражении, описывающем диапазон, допустимы числа и символы "." и "$", а также арифметические выражения. Символ "." обозначает текущую строку, символ "$" - последнюю строку файла. Например,
:.,.+7s/black/white/g
означает замену black на white в восьми строках, начиная с текущей.
Допустим, мы находимся в первой строке. Тогда выражение
.,.+7
фактически означает
1,1+7
т.е.
1,8
Команда
:.,$s/yellow/blue/g
означает замену yellow на blue во всех строках, начиная с текущей и до конца файла.
В режиме совместимости можно не только выполнять команды поиска и замены. Здесь есть еще команда удаления - d. Команда
:1,.d
удалит все строки с первой по текущую.
Диапазон может состоять из одной строки, например команда
:4d
означает требование удалить четвертую строку.
Ввод числа за двоеточием без всяких команд означает переход к строке с указанным номером, например
:56
вызовет переход к 56-й строке.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий