Редактор Euphoria

 
запуск 1:   ed filename
запуск 2:   ed


Сводка основных сведений

После любой ошибки, возникшей при исполнении вашей программы, достаточно набрать и ввести ed, и вы окажетесь в редакторе, в той строке и столбце файла вашей программы, где ошибка была выявлена. Сообщение об ошибке будет в верхней служебной строке экрана, в строке меню.

Файлы, которые относятся к системе программирования Euphoria, отображаются с цветной подсветкой синтаксиса. Другие текстовые файлы отображаются одноцветными. Вы увидите погрешности синтаксиса, когда цвет текста будет не тот, который вы ожидаете. Ключевые слова отображаются синим цветом. Имена процедур, встроенных в интепретаторы, имеют малиновый цвет. Строки - зеленые, комментарии - красные, другой текст имеет преимущественно черный цвет. Парные (согласованные) скобки (в одной строке) имеют одинаковый цвет. Вы можете изменить все цвета по своему вкусу, точно так же как и многие другие параметры редактора ed. Просмотрите список "доступных пользователю параметров" в начале файла ed.ex.

Клавиши со стрелками перемещают курсор влево, вправо, вверх и вниз. Клавиатура при вводе символов работает в режиме вставки.

Под Windows вы можете ассоциировать (связать) различные типы файлов с ed.bat. После этого вы сможете открывать файлы в редакторе ed двойным щелчком мыши на файлах ассоцированных типов - т.е. .e, .pro, .doc и т.д. Исполняемые Euphoria файлы, имеющие расширение .ex (.exw), может быть, лучше ассоциировать с ex.exe (exw.exe).

Редактор ed является многофайловым/многооконным редактором для DOS. Команда Esc c будет делить экран так, что вы сможете просматривать и редактировать до 10 файлов одновременно, перемещая текст между ними, если понадобится. Многооконный режим работает также при просмотре и редактировании различных частей единственного файла.

Если вам не очень нравится ed, у вас есть много альтернатив. Редактор EE Дэвида Куни является редактором DOS для Euphoria, который написан на Euphoria. Он имеет дружественный пользовательский интерфейс, основанный на использовании мыши, выпадающие меню и т.д. Этот редактор доступен на Web-узле RDS. Имеется множество других Euphoria-ориентированных редакторов, которые исполняются под DOS, Windows и Linux. Поищите подходящий для вас редактор в нашем Архиве файлов. Фактически же может быть использован любой текстовый редактор, включая DOS Edit или Windows NotePad.


Специальные клавиши

Некоторые клавиши не работают в текстовой консоли Linux, и некоторые клавиши не работают в xterm под X Windows. В этих случаях предусмотрены альтернативные работоспособные клавиши.

Delete - Удаляет текущий символ над курсором.
Backspace - Сдвигает курсор влево с удалением символа.
control-Delete - Удаляет текущую строку. (control-Delete доступно не на всех системах.)
control-d - Удаляет текущую строку. (Так же как и control-Delete)
Insert - Вставляет перед текущим символом или текущей строкой текст, удаленный предшествующими сериями Delete или control-Delete.
control-arrow-left - Сдвигает курсор к началу предыдущего слова. Под Linux используйте control-L.
control-arrow-right - Сдвигает курсор к началу следующего слова. Под Linux используйте control-R.
Home - Сдвигает курсор к началу текущей строки.
End - Сдвигает курсор в конец текущей строки.
control-Home - Сдвигает курсор в начало файла. Под Linux используйте control-T, (т.е. Top - верх)
control-End - Сдвигает курсор в конец файла. Под Linux используйте control-B, (т.е. Bottom - дно)
Page Up - Сдвигает курсор вверх на один экран. Под Linux в xterm используйте control-U
Page Down - Сдвигает курсор вниз на один экран. Под Linux в xterm используйте control-P
F1 ... F10 - Переводит курсор в новое текущее окно. Окна пронумерованы сверху вниз, верхнему окну соответствует F1.
F12 - Эта клавиша относится к специальной заказной команде. Обычно она предназначена для вставки метки комментария Euphoria "--" в начало текущей строки. Вы можете легко переназначить эту клавишу для автоматического выполнения любых серий нажатий на клавиши, которые вам необходимы, просто переопределите константу CUSTOM_KEYSTROKES в начале файла ed.ex.


Escape команды

Нажмите и отпустите клавишу Esc, затем нажмите одну из следующих клавиш:

h - Выводит справочный текст по редактору или Euphoria. Экран при этом делится, так что вы можете просматривать вашу программу и справочный текст в одно и то же время.
c - Создает "копию" текущего окна, т.е. создает новое окно, в котором первоначально отображается тот же самый файл и в той же самой позиции, что и в текущем окне. Размеры всех окон подстраиваются, чтобы освободить место для нового окна. Вам может понадобиться команда Esc l, чтобы получить экранный режим с более удобным числом строк. Каждое из созданных вами окон прокручивается независимо от других и каждое имеет свое собственное меню. Изменения, которые вы делаете в файле, вначале появляются только в текущем окне. Когда вы нажали функциональную клавишу, чтобы выбрать новое окно, изменения затронут текст и в новом окне. Для считывания с диска в текущее окно нового файла имеется команда Esc n.
q - Выход из текущего окна или выход из редактора, если окно было единственным. Вы получите предупреждение, если это последнее окно, в котором редактируется уже измененный файл. Все оставшиеся окна получают на экране больше места.
s - Сохранение на диске редактируемого файла с последующим выходом из текущего окна как и по команде Esc q, описанной выше.
w - Запись на диск текущего файла без выхода из окна или редактора.
e - Запись на диск текущего файла с последующим запуском его на исполнение под управлением интерпретатора ex, exw или exu. Когда исполнение программы закончится, вы услышите звуковой сигнал. Нажатие Enter вернет вас в редактор, в то место, где были сделаны последние перед запуском изменения в исходном файле. Эта операция может не работать, если на вашей машине слишком мало расширенной памяти. Запуская программу из редактора, вы не имеете возможности подавать в нее аргументы командной строки.
d - Выполняет доступные на вашей машине команды операционной системы или запускает понадобившиеся вам программы. После выполнения команды или выхода из запущенной программы раздается звуковой сигнал. Нажатие Enter после сигнала вернет вас в редактор. Вы можете использовать эту команду, например, для редактирования другого файла с последующим возвращением к первому, но Esc c, видимо, более удобный вариант. Хороша эта команда также для запуска оболочки DOS и выполнения ее средствами вспомогательных дисковых операций. К примеру, запустив "Волков Коммандер", вы можете произвести какие-то манипуляции с файлами, а затем вернуться к своей программе, нажав F10 и выйдя из "ВК".
n - Начинает редактирование нового файла в текущем окне. Оставшиеся в буфере удаленные ранее из предыдущего файла строки/символы а также строка последнего поиска остаются доступными для использования их в новом файле. Но вы должны задать путь к новому файлу. Для этого вы можете воспользоваться перетаскиванием имени файла из окна файлового менеджера Windows в окно MS-DOS, в котором исполняется ed. Эта манипуляция определит для вашего нового файла полный путь.
f - Ищет следующее вхождение заданной строки в текущем окне. Когда вы задаете новую строку поиска, предлагается выбор "match case" или нет. Нажмите y, если вам необходимо при поиске учесть регистр букв. Нажатие Enter инициирует поиск следующего вхождения. Любая другая клавиша останавливает поиск. Чтобы начать поиск с самого начала файла, нажмите control-Home перед Esc f. Строка поиска по умолчанию, если вы не ввели новую, будет показана в двойных кавычках.
r - Повсеместно заменяет одну строку другой. Работает подобно команде Esc f. Нажатие Enter продолжает замены так, что вам будет виден каждый очередной результат уже выполненной замены, а не приглашение к ней. Будьте внимательны - пропустить замену невозможно, можно только прервать весь ряд оставшихся замен.
l - Изменяет число строк, размещаемых на экране. Доступны только вполне определенные числа строк в зависимости от типа вашей видеоплаты. Многие типы видеоплат имеют режимы 25, 28, 43 или 50 строк.

В текстовой консоли Linux вы останетесь с тем числом строк, которое доступно (обычно 25). Под Linux в окне xterm редактор ed будет использовать то число строк, которое было, когда ed стартовал. Попытки изменения размеров окна не будут иметь эффекта после старта ed.

m - Показывает изменения, которые вы сделали в файле с момента последней его записи на диск. Текущий редактируемый буфер записывается как временный файл editbuff.tmp и сравнивается с вашим файлом на диске с использованием утилиты DOS fc или команды diff Linux. Команда Esc m очень полезна, когда вы собрались выйти из редактора, но не можете вспомнить, какие изменения в файле вы сделали, или хотите еще раз взглянуть, стоит ли их сохранять. Эта команда также поможет вам, если при редактировании вы сделали ошибочные изменения текста и теперь вам нужно посмотреть, как выглядел оригинальный текст. Когда вы покинете редактор, у вас будет возможность удалить файл editbuff.tmp.
ddd - Сдвигает курсор на строку заданного номера ddd. Т.е. Esc 1023 Enter переместит вас на строку 1023 в файле.
CR - Esc Carriage-Return, т.е. Esc Enter, выведет для вас имя текущего файла, номер строки и колонки, где вы находитесь, а также был ли файл изменен с момента последнего сохранения. Если вы нажали Esc, но затем ваш план переменился, эта команда дает вам также возможность просто нажать Enter и вернуться таким путем к редактированию.


Вызов ранее введенных строк

Команды Esc n, Esc d, Esc r и Esc f приглашают вас ввести строку, с которой вы намерены работать. Вы можете повторно вызывать и редактировать ранее уже раз введенные эти строки, как это делается в командной строке DOS или Linux. Нажимайте стрелку-вверх или стрелку-вниз, чтобы вкруговую просмотреть те строки, которые вы уже вводили для данной команды, а затем стрелку-влево, стрелку-вправо и клавишу del, чтобы отредактировать строку. Нажатие Enter приведет к вводу отредактированной строки в команду, выбранную вами.


Вырезание и вставка

Когда вы нажимаете control-Delete (или control-D), удаляя ряд последовательных строк или Delete, удаляя из строки ряд последовательных символов, вы создаете "kill-буфер", содержащий то, что вы только что удалили. Содержимое этого kill-буфера может быть вставлено в любое место любого файла, уже загруженного в редактор, или вновь создаваемого, или вновь загружаемого. Просто переместите курсор в нужное место и нажмите Insert.

Новый kill-буфер организуется, а старый теряется, каждый раз, когда вы перемещаете курсор и начинаете новые удаления где-то еще. Например, удалите несколько строк с помощью control-Delete. Затем передвиньте курсор в то место, где вы хотите вставить эти строки и нажмите Insert. Если вы хотите скопировать строки, не удаляя оригинального текста, сначала нажатием control-Delete удалите этот текст, а затем немедленно нажмите Insert, чтобы восстановить его на том же месте. Затем переместите курсор туда, где нужна копия текста, и нажмите Insert, чтобы вставить его еще столько раз, сколько вам нужно. Вы можете также нажатием Delete удалять ряд символов, передвигать курсор и вставлять удаленные символы в другом месте. Немедленно нажмите Insert после удаления, если вы хотите копировать символы, оставив на оригинальном месте и те, которые были только что удалены.

Имея заполненный kill-буфер, повторим, вы можете нажать Esc n, создать новый файл и в него скопировать буфер, или вы можете нажать функциональную клавишу, перейти в другое окно и там вставить ваш kill-буфер.


Использование табуляции

Стандартный шаг табуляции - 8 пробелов. Редактор так и считает tab=8 для большинства файлов. Тем не менее, при редактировании программ более удобно иметь шаг табуляции равным тому числу пробелов, которое вы имеете обыкновение отступать, записывая свою программу ступеньками. Поэтому вы обнаружите, что табулятор установлен на 4, когда вы редактируете файлы Euphoria (или .c, или .h, или .bas файлы). Редактор преобразует tab=8 в tab=4, когда считывет с диска ваш программный файл, и делает обратное преобразование в tab=8, когда вы сохраняете файл на диске. В результате ваш файл остается совместимым с миром tab=8, т.е. MS-DOS PRINT, EDIT и т.д. Если вы предпочитаете другое число пробелов для отступа, измените строку в начале файла ed.ex, в которой сказано "constant PROG_INDENT = 4".


Длинные строки

Строки, которые выходят за правый край экрана, маркируются символом инверсного цвета в 80-ой колонке. Этот прием предупреждает вас, что за пределами экрана есть текст, который в данный момент вам не виден. Тем не менее, вы можете продолжать сдвигать курсор вправо, за 80-ую колонку. Экран будет прокручиваться влево или вправо так, что станут появляться очередные символы в позиции курсора.


Максимальный размер файла

Подобно любой Euphoria-программе, ed может использовать расширенную память. Он будет редактировать файлы, намного превосходящие по размеру те, которые доступны в редакторах MS-DOS Edit или Windows NotePad. С громадными файлами вставка или удаление строки вблизи начала файла может занять несколько секунд, если требуется интенсивный обмен со своп-файлом. Другие операции будут более быстрыми.


Не-текстовые файлы

ed разработан для редактирования чисто текстовых файлов, хотя вы можете использовать его для просмотра и других файлов. Когда ed читает файл, он заменяет определенные служебные символы (код ASCII меньше 14) символом ASCII 254 (маленький квадратик). Если вы попытаетесь сохранить не-текстовый файл, вы будете предупреждены об этом. (MS-DOS Edit молча испортит не-текстовый файл - не сохраняйте!). Так как ed открывает все файлы как "текстовые", в конце файла вставляется символ control-z (26).


Длинные имена файлов Windows

Хотя ed является редактором для DOS, вы можете редактировать существующие файлы, которые имеют путь с длинными именами, и при этом полное имя файла будет сохранено. Однако в данной версии ed не будет создавать новые файлы с длинными именами. Имя будет укорочено до 8.3 стандартной длины имен файлов DOS.


Служебные символы конца строки

Под Linux служебным символом конца строки является \n. Под DOS и Windows текстовые файлы имеют строки, заканчивающиеся служебными символами \r\n. Если вы копируете файл из DOS или Windows в Linux и пытаетесь изменить его, ed даст вам возможность выбрать, сохранить служебные символы \r\n, или записать файл в формате со служебными символами \n в конце строк.


Исходный код

Полный исходный код данного редактора находится в файлах bin\ed.ex и bin\syncolor.e. Вы приглашаетесь к усовершенствованию этого редактора. В начале файла ed.ex помещены доступные пользователю конфигурационные параметры, которые вы можете настроить. Цвет элементов изображения и размер курсора могут даже и потребовать такой подстройки при работе в некоторых разновидностях операционного окружения.


Программная платформа

ed лучше работает с интерпретаторами ex.exe и exu, но будет исполняться и с exw.exe.