ИМЯ
ex - Вызывает текстовый редактор.
СИНТАКСИС
ex [-] [-v] [-t tag] [-r] [+lineno] name ...
ОПИСАНИЕ
Команда ex является основой редакторов ex и vi. Команда ex
представляет собой расширение редактора ed, наиболее значительным добавлением к которому является возможность экранного
редактирования. Редактирование, ориентированное на экранную
обработку, является характерной особенностью редактора vi.
Если Вы еще не использовали редактор ed, или если Вы являетесь неопытным пользователем, то наиболее подходящим для Вас будет edit. В нем отсутствуют некоторые сложные приемы, присущие редактору ex, которые используются большинством системных программистов и пользователями, хорошо знакомыми с редактором ex.
Если Вы имеете терминал CRT (с электроннолучевой трубкой), у Вас есть возможность использовать редактор, ориентированный на экранную обработку; для этого просмотрите описание команды vi(1) из редактора ex, которая ориентирована на экранное редактирование.
ДЛЯ ПОЛЬЗОВАТЕЛЕЙ, ОСВОИВШИХ РЕДАКТОР ed
Если Вы уже пользовались редактором ed, то, наверное, заметили, что редактор ex обладает некоторыми новыми возможностями.
Интеллектуальные и высокоскоростные терминалы более всего подходят к использованию с редактором ed. В общем случае, редактор ex использует гораздо больше терминальных возможностей,
чем редактор ed. Он использует такое терминальное средство,
как база данных termcap(5), а также определяет из переменной
среды TERM тип используемого Вами терминала, для того, чтобы
как можно более эффективно управлять Вашим терминалом. Редактор ex допускает использование таких возможностей, как вставка
и исключение символа и строки в режиме работы его команды
visual, сокращенно vi, который является определенным режимом
редактирования при использовании редактора vi(1). Существует
также возможность редактирования вставкой новой строки между
строк при помощи команды open, сокращенно (o), которая работает на всех терминалах.
Редактор ex содержит ряд средств для облегчения просмотра текста файла. Простой доступ к окнам с текстом предоставляет команда z. Нажатие комбинации клавиш Ctrl-D приводит к свертыванию окна с текстом до половины его размера, и предоставляет удобную возможность ускорения пошагового просмотра текста файла по сравнению с нажатием только клавиши RETURN. Действительно, экранно-ориентированный режим visual обеспечивает постоянный доступ к редактируемому контексту.
Редактор ex предоставляет Вам пространную подсказку в случаях, когда Вы делаете ошибки. Команда undo (u) позволяет Вам отменить одно какое-либо произведенное изменение. Команда ex предоставляет Вам возможности обратной связи, как правило, печатая при этом измененные строки и указывая на то, что воздействию какой-либо команды было подвергнуто более необходимого количества строк, позволяя, таким образом, обнаружить, что команда обработала больше, чем предполагалось пользователем, строк.
Кроме того, редактор, как правило, препятствует записи поверх существующих файлов, если Вы их еще не редактировали, таким образом, что Вы не сможете случайно, при помощи команды write, испортить файл, отличный от того, который Вы редактируете. Если происходит сбой в системе (или в редакторе), или Вы случайно отключили терминальное соединение, Вы можете использовать команду recover для восстановления Вашей рабочей среды. При этом возврат осуществляется в те несколько строк, которые Вам пришлось оставить.
Редактор ex обладает отдельными средствами для редактирования более чем одного файла в данный момент времени. Вы можете в командной строке редактора указать список файлов, и использовать команду next (n) для редактирования каждого из них по очереди. Кроме того, Вы можете указать для команды next список имен файлов или образец имен, используемый интерпретатором shell, для того, чтобы определить новый набор файлов для редактирования. В общем случае, имена файлов в редакторе могут быть сформированы при помощи полного метасинтаксиса интерпретатора shell. Кроме того, при формировании имен файлов возможно использование метасимвола "%", с последующим замещением его именем текущего файла. При редактировании больших групп связанных файлов, Вы можете использовать команду tag редактора ex для быстрого обнаружения функций и других важных для Вас мест в любом из этих файлов. Это бывает полезно, когда Вы хотите найти определение некоторой частной функции в большой программе. Команда ctags(1) осуществляет построение файла tags или группы программ на языке С.
Для перемещения текста из файла в файл или внутри одного файла редактор имеет группу буферов, обозначаемых буквами от a до z. Вы можете поместить текст в эти поименованные буфера и перенести его затем в другой редактируемый Вами файл.
Команда & повторяет последнюю выполненную команду подстановки substitute. Существует, также, команда подстановки с подтверждением. Вы задаете диапазон подстановок, которые должны быть выполнены, а редактор интерактивно (в режиме диалога) по каждой подстановке выводит Вам приглашение с вопросом, нужна ли Вам эта подстановка.
Вы можете использовать команду substitute в редакторе ex для систематического переключения буквенного регистра между нижним и верхним значениями. Можно игнорировать значение этого регистра при выполнении поиска и подстановок. Кроме того, редактор ex допускает применение регулярных выражений, сопоставляемых словам, которые должны быть построены. Это удобно, например, когда производится поиск слова "edit", а в Вашем документе содержится слово "editor".
Редактор ex имеет набор опций, которые Вы можете установить. Одной из них, очень полезной, является опция autoindent, которая разрешает редактору автоматически вставлять пустые пространства в начало текста для выравнивания текста. Установив эту опцию, Вы можете просто нажать комбинацию клавиш Ctrl-D, чтобы сделать обратную табуляцию, пробел и табуляцию вперед для выравнивания нового кода.
Разнообразие новых полезных средств включает в себя такие команды, как интеллектуальную команду join (j), которая автоматически вставляет пустые пространства между соединенными строками; команды < и >, которые сдвигают группы строк, а также возможность отфильтровывать части буфера посредством таких команд, как sort.
ФАЙЛЫ
/usr/lib/ex3.7strings Сообщения об ошибках /usr/lib/ex3.7recover Команда восстановления /usr/lib/ex3.7preserve Команда сохранения /etc/termcap Описывает возможности терминалов $HOME/.exrc Файл запуска редактора /tmp/Exnnnnn Временный файл редактора /tmp/Rxnnnnn Временный именованный буфер /usr/preserve Каталог сохранения
СМ. ТАКЖЕ
awk(1), ctags(1), ed(1), grep(1), sed(1), termcap(5), vi(1).
РАЗРЕШЕНИЕ
Эта утилита была разработана в Калифорнийском Университете,
г.Беркли, и разрешена к использованию.
ЗАМЕЧАНИЕ
Команда undo приводит к потере всех маркеров на измененных и
затем восстановленных строках, если в этих отмаркированных
строках были изменения.
Команда undo никогда не очищает модифицированное состояние буфера.
Команда z выводит число логических, а не физических строк. Если отображаются длинные строки, это может привести к переполнению экрана.
Если в командной строке использована опция "-", сообщения об ошибках ввода/вывода файла не печатают имя файла.
Отсутствует простой способ выполнения разового просмотра с подавлением регистра.
Данная реализация аргументов для команды next в этом редакторе допускает максимальную длину списка аргументов только 512 байтов.
Процесс установки типа терминала является довольно длительным из-за сложного формата файла /etc/termcap и большого числа возможностей терминалов, используемых данным редактором.
Перед выходом из редактора не выводится предупреждение, если текст, размещенный в поименованных буферах, не использовался.
Нулевые символы во входных файлах отбрасываются и не могут появиться в результирующих файлах.