27 ноября 1998 |
|
Описание редактора 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:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Similar articles:
В этот день... 23 November