Описание редактора AC Edit v0.09
Alone Coder
Редактор AC Edit(далее просто Edit)раз-
вился из простой текстовой листалки.
История его возникновения весьма поучи-
тельна. Случилось так,что,когда мне (Alone
Coder'у)необходимо было (мне так казалось)
набрать книгу братьев Стругацких<Понедель-
ник начинается в субботу>,под рукой не бы-
ло ни одного подходящего текстового редак-
тора:Tasword не приемлю,TLW 2 - очень мед-
ленный, а ZX-Word'а попросту не имелось. К
счастию, в мои руки попал журнал ZX-Format
N~5, в приложении к которому имелась прог-
рамма MED FDD Ковалевского, и ваш покорный
слуга решил посмотреть,с чем это едят.Пер-
вое впечатление было весьма положительно:
быстро бегающий курсор,окошки,менюшки,help
'ушки, аж целых 30.5 k памяти для текста.
(Это на 128k-то компьютере! Сначала я не
придавал этому значения,т.к. у Tasword 21k
памяти, у TLW 2 - 23k, а у ZX-Word - 26k).
Вся прелесть этого редактора была оценена
автором этого описания по достоинству то-
лько тогда, когда оказалась набрана треть
повести.Дело в том,что формат этого редак-
тора не совместим ни с одним другим сущес-
твующим текстовым редактором, а памяти его
не хватает даже на одну главу книги. Но -
начал так начал - пришлось донабрать text.
Oн до сих пор валяется где-то на диске.Как
вы думаете, стоит ли начать печатать его в
журнале?
То был январь 1998 года. Когда в конце
августа приехахом из деревни и начаху 2-й
курс, автор имел много невоплощенных идей.
Первым делом я написал кубик Рубика(и этим
погасил интерес к механическому варианту).
Сильно обрадовавшись, ваш покорный слуга
пошел на радиорынок и познакомился с про-
давцом Вовой для того, чтобы поделиться с
ним своею крутизной и с надеждой, что Вова
сможет это продать. Но тот не только не
продал, но даже и не увидел кубика - кубик
хранился на дискете в формате ALASM,а Вова
не умел (!) с ним обращаться.
Тогда автор стал носить Вове свои ста-
рые программы,кое-как состряпав Viewer для
их описаний (в режиме 42 pitch). Для того,
чтобы набирать такие тексты, а также пото-
му,что у меня и раньше была такая мечта, я
взялся написать текстовый редактор сам. В
листалку для этого надо было всего-навсего
вставить курсор и осуществить обработку
нескольких дополнительных клавиш.
Первоначально были введены кнопки Graph
и Delete, соответственно имеющие функции
Del и Backspace. Вторая даже умела стирать
Enter,сращивая этим самым строки.Протащив-
шись от своей безмерной крутизны (куда по-
дальше),автор подумал, что это какой-то уж
больно усеченный текстовый редактор - даже
ножницами можно написать больше, и сделал
ввод произвольного латинского символа;спу-
стя день - еще и русского;еще через день -
вообще любого - через Caps Shift.
Не знаю, как мне пришла в голову идея
использовать 128k память, но проектирова-
ние, расчет и отладка этого добавления за-
няла дня четыре. Зато это было первое мое
достижение,которым можно гордиться по-нас-
тоящему (известен всего один текстовый ре-
дактор, обрабатывающий 64 k - Tasword 128,
но строка его имеет фиксированную длину;
листалок же столь емких есть minimum три).
Когда редактор был уже практически го-
тов, староста параллельной группы дал мне
почитать Гаррисона.Ко мне в руки попал ре-
дкий текст, и я просто не мог его не пере-
печатать! Последние штрихи в программе по-
явились именно из-за потребностей быстрого
набора текста,т.к.я надеялся выпустить жу-
рнал (а куда же еще свалить редкий текст,
<гениальные> программы и призывы к сотруд-
ничеству?)к ноябрю,и решения своего менять
не имел намерения.(Как вам фразочка?)
Как было бы прекрасно, кабы все авторы
Text Editor'ов почувствовали себя в поло-
жении их пользователей!
На этом история кончается, и начинается
собственно описание редактора:
После загрузки он очищает текст;специа-
льной кнопки для очистки не предусмотрено,
хотя вполне можно предусмотреть:я полагаю,
что за один сеанс работы с редактором ник-
то не станет редактировать два текста.
Курсор,естественно,двигается стрелочка-
ми,но имеется одно указание:если вы любите
нажимать на кнопки медленно,то для руления
по тексту лучше перейдите в латинский ре-
жим, т.к.нажатие цифр 5,6,7,8,0 при долго-
временном удержании Caps Shift редактор
понимает как прописные русские Ш,Щ,Э,Ю,Ч.
Сие повышает скорость набора текста.Комби-
нации SS и стрелочек имеют те же функции,
что и в MED,т.е.:SS/=Home,SS/=End,SS/ -
начало текста,SS/ - конец текста.
Про кнопки Delete и Graph уже было ска-
зано.По убедительной просьбе Юры Свиридова
CS/9 теперь тоже может стирать Enter, при-
чем в любом месте после окончания строки.
Словом,всё как в WordStar или TurboPascal.
Максимальная длина строки - 255 симво-
лов, при превышении которой редактор будет
бузить;впрочем,курсор все равно бегает то-
лько по первым 43.Ограничение возникло из-
за того, что у редактора буферизирована
строка.(Об этом частенько не думают авторы
текстовых редакторов, в силу чего в этих
редакторах невозможно редактировать текст,
т.к.скорость ввода символов превышает ско-
рость их восприятия компьютером.)
CS/3 и CS/4 как обычно листают странич-
ки соответственно назад и вперед.
Enter ставит коды 13,10.Это стандарт,но
когда-нибудь я сделаю режим с 13.
Edit ставит табуляцию в 3 символа.То же
самое делает Enter,нажатый в конце строки.
SS/Space - Рус/Lat.
CS/Enter - Save file.
SS/Q - сжать строку к левому краю. Нас-
чет абзацев не извольте беспокоиться - ре-
дактор про них знает.
SS/W - ввести имя редактируемого файла.
Работают кнопки Delete и Enter. Расширение
менять нельзя.
SS/E - Edit file.Файл выбирается из ка-
талога. Работает курсор,Enter - Load,Break
- отмена.Не выводятся файлы типов B и H.
SS/I - во многих редакторах строка ста-
туса занимает место на экране,у меня же ее
можно увидеть лишь по заказу,удерживая эти
клавиши.Я полагаю,что так удобнее.
SS/Enter - весьма специфичная функция:
все строки до курсора записать на диск и
удалить из памяти.
Не советую нажимать CS/SS/T - это отла-
дочная функция,и вам она не потребуется.
В русском режиме редкие буквы (ну как
сказать - редкие,ведь <ф> или <ц> встреча-
ются реже,чем <ч> и <ш>) можно вводить как
классическим способом,- через Symbol Shift
- так и нажимая соответствующие цифры:
┌──────┬───┬───┬───┬───┬───┬───┬───┐
│ знак │ ъ │ ш │ щ │ э │ ю │ - │ ч │
├──────┼───┼───┼───┼───┼───┼───┼───┤
│цифра │ 1 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │
└──────┴───┴───┴───┴───┴───┴───┴───┘
У меня они написаны прямо на клавиатуре.
Прописные буквы, как автор уже имел честь
вам сообщить, вводятся с Caps Shift'ом,что
весьма удобно. Большой Ъ вводится на отжа-
тие, потому что:
Caps Shift + набор из трех цифр вводит
соответствующий этому коду символ.Коды мо-
гут начинаться только на 1 или 2. Так,нап-
ример,CS/241 даст ё,CS/240 - Ё,CS/127 - ,
CS/281 - . Остальные символы можете найти
в книге П. Нортона <Программно-аппаратная
организация IBM PC>, или же вам придется
построить таблицу опытным путем. Редактор
не имеет символа ограничения текста,поэто-
му нельзя напечатать только два символа:10
и 13 (инверсный кружок и нотка). Кстати,по
поводу символа №(код 252). Очевидно,на его
месте должен стоять символ бесконечности,
т.к. место буквы <эта> в таблице из книги
Нортона занимает именно бесконечность (код
236).Вероятно,при проектировании этой таб-
лицы произошла ошибка,которая теперь расп-
ространилась до чрезвычайности: в драйвере
keyrus (IBM PC) на этом месте N~,в ALASM -
совершенно непонятный символ надстрочного
n... Из-за нестандартного использования CS
Edit работает только при нажатии на соот-
ветствующую кнопку,а не на CS/1; Caps Lock
же работает только на отжатие.
При попытке ввода символа в 43-й пози-
ции происходит автоматический перенос и
выравнивание строки по правому краю. Пока
что дефис вам придется вставлять самим, но
как-нибудь и он будет автоматизирован. Да!
Выравнивание по правому краю происходит
без предварительного сжатия строки,поэтому
при вводе текста не ставьте пробелов после
точек,запятых и пр. Для красоты выравнива-
ния пробелы после знаков препинания имеют
больший приоритет, чем прочие пробелы.
Перебор максимальной длины текста 65280
bytes - не отслеживается.
P.S.:Автором данной статьи была продемонс-
трирована рекордная скорость набора текста
именно в этом редакторе: 157 bytes/minute!
(Согласно правил состязания замер произво-
дится по результатам часа работы.)
Other articles: