Краткий обзор команд

В общем случае команды редактора ed состоят из имени команды, которому могут предшествовать один или два номера строк, и после которого для команд "e", "r" и "w" может указываться имя файла. В строке может присутствовать только одна команда, однако команда "p" может следовать после любой другой команды, кроме "e", "r", "w" и "q".

a -
Дописать строки в буфер редактора после текущей строки,
(если не задана другая строка). Дозапись продолжается
до тех пор, пока не будет введена команда ".<CR>".
Текущей становится последняя дописанная строка. В этой
команде допускается адрес "0", при этом текст
помещается в начало буфера.
c -
Заменить указанные строки новым текстом, следующим после
команды "c". Ввод новых строк завершается ".<CR>". Если
номера строк в команде не указаны, заменяется текущая
строка. Текущей становится последняя замененная строка
или (если строк замены не было) строка, предшествующая
удаленным строкам.
d -
Удалить указанные строки. Если номера строк не заданы,
удаляется текущая строка. Текущей становится первая
неудаленная строка, кроме случая, когда удаляется
последняя строка буфера. В этом случае текущей
становится новая последняя строка буфера.
e -
Релактирование нового файла. Предшествующее содержимое
буфера теряется, так что предварительно полезно ввести
команду "w". Текущей становится последняя строка
буфера.
E -
Команда выполняет те же действия, что и "e", за
исключением того, что не выдается сообщение, если после
последнего изменения буфера не была выдана команда
записи "w".
f -
Выдать текущее имя файла. Если после команды "f"
указывается имя файла, текущее имя файла будет заменено
этим именем.
g -
Конструкция "g/re/команды" выполняет указанные "команды" над теми строками, которые соответствуют образцу "re".
i -
Вставить строки перед указанной строкой (или строкой,
определяемой точкой). Вставка завершается командой ".<CR>". Текущей становится последняя вставленная
строка.
j -
Объединить указанные строки в одну строку. Если строки
не указаны, объединяются текущая и следующая за ней
строки.
k -
Отметить строку (указанную или текущую) маркером,
задаваемым псле "k". В качестве маркера используются
строчные латинские буквы.
l -
Распечатать строки. Команда "l" эквивалентна команде "p", однако она распечатывает графически не
отображаемые символы и "сворачивает длинные строки".
m -
Поместить указанные строки после строки, задаваемой
после "m". Текущей становится последняя перемещенная
строка.
p -
Выдать указанные строки. Если строки не указаны,
распечатывается текущая строка. Отдельный номер строки
эквивалентен команде "(номер_строки)p". Простое нажатие
клавиши <CR> распечатывает следующую строку.
q -
Выход из редактора. Если при этой операции теряется
информация (например, копия исходного файла изменялась,
но не была выдана команда записи "w"), после первой
команды "q" выдается подсказка "?" и никаких действий
не производится. Выдача подряд двух команд "q" без
предварительной команды "w" приводит к стиранию буфера
и окончанию работы с редактором.
Q -
Работает также как команда "q" за исключением того, что
выход производится немедленно (без какой-либо
диагностики о возможной потере информации).
r -
Прочитать файл в буфер (в конец буфера, если не указано
по-другому). Текущей становится последняя считанная
строка.
s -
Команда s/xxx/yyy/ подставляет вместо символов "xxx" символы "yyy" в указанных строках. Если строки не
указаны, подстановка выполняется в текущей строке.
Текущей становится последняя строка, в которой
произошла подстановка, это приводит к сохранению
исходного положения, если не была выполнена ни одна
подстановка. Команда "s" заменяет только первое
вхождение "xxx" в строке. Для замены всех вхождений
после завершающей дробной черты указывается символ "g".
t -
Скопировать указанные строки после строки, задаваемой
после "t". Текущей становится последняя скопированная
строка.
u -
Аннулировать изменение, выполненное предшествующей
командой.
v -
Конструкция "v/re/команды" выполняет указанные "команды" над теми строками, которые не соответствуют образцу "re".
w -
Записать буфер в файл. Значение указателя текущей строки
не изменяется.
W -
Аналогична команде "w", за исключением того, что
указанные строки дописываются к файлу.
x -
Работа в режиме шифрации. Запрашивается ключ, используя
который последующие команды "r", "е" и "w" будут
зашифровывать и расшифровывать текст. Пустой ключ
отменяет режим шифрации.
.= -
Выдать текущий номер строки (один символ "=" печатает
номер последней строки).
! -
Конструкция "!командная_строка" вызывает выполнение "командной_строки" интерпретатором команд.
/re/ -
Контекстный поиск. Поиск следующей строки, которая
содержит данную последовательность символов, и ее
выдача. Текущей становится строка, соответствующая
заданному образцу "re". Поиск начинается со строки ".+1" до "$", после последней строки переходит к строке
1 и, при необходимости, продолжается до текущей строки.
?re? -
Контекстный поиск в обратном направлении. Поиск
начинается со строки 1 и продолжается до последней
строки.
. (точка) -
Обозначение текущей строки.
$ -
Обозначение последней строки.
'x -
Обозначение строки, ранее отмеченной маркером "x".

Еще материалы по теме: