====== ТОР (Текстовый Оконный Редактор) для MSX ====== {{tor91.png|}} ТОР (TOR) — Текстовый Оконный Редактор, разработан в ВЦ Сибирского отделения Академии наук СССР (автор Л.С.Бараз). Редактор работает в [[msx:dos:]] {{tor.dsk|TOR версия 9.1}} {{tor.zip|Разные версии программы}} [[+tab|wmsx>/?DISK_FILES=/_media/msx:tor:tor.zip|Запуск разных версии TOR в WebMSX]] (используется [[msx:dos103x:|]]) ====== XTOR ====== {{xtor21.png|}} TOR+ является расширенным вариантом текстового редактора TOR. Он предоставляет пользователю те же средства редактирования, однако максимальный размер редактируемых текстов значительно увеличен: 135000 символов при использовании видеопамяти и практически неограниченный при использовании буферного файла на диске или RAM–диске. Расширенный редактор TOR+ работает несколько медленнее, чем TOR. Использовать редактор XTOR можно только в среде операционной системы [[msx:dos:]], когда на экране имеется приглашение A> или a> В ответ на это приглашение необходимо набрать команду запуска XTOR и нажать клавишу 'Ввод '⏎. В этой команде следует указать флажок, определяющий, где будет отведена память для редактируемых текстов. Возможны следующие варианты: * XTOR/V предусматривает запуск редактора с расположением текстов в видеопамяти ПЭВМ. В случае [[msx:msx_2|MSX2]] с 128 Кб VRAM максимальный размер редактируемого текста будет около 136000 символов. \\ ВНИМАНИЕ: Флаг ''/V'', как правило, не должен использоваться вместе с электронным диском, так как имеющиеся версии обычно используют свободное пространство VRAM для своих нужд. * XTOR/Bпредусматривает запуск редактора с расположением текстов в специальном файле ''XTOR.$$$'' на диске в дисководе B:. Под файл отводится все свободное пространство на диске. Обычно такой способ запуска используется для электронного диска B:. * XTOR/A200 предусматривает запуск редактора с расположением текстов в файле ''XTOR.$$$'' на диске в дисководе A:. Размер файла около 200 Кб. \\ ВНИМАНИЕ: Если А: — не электронный, а реальный гибкий диск, любая неисправимая ошибка при чтении/записи буферного файла или, например, смена диска в дисководе приводит к полной НЕВОЗМОЖНОСТИ продолжить редактирование; в том числе оказывается невозможным сохранить набранный или отредактированный текст. ====== NTOR ====== {{ntor10.png|}} Программа NTOR представляет собой экранный текстовый редактор. Этот редактор может использоваться на ПЭВМ [[msx:msx_2|MSX2]] (в т.ч. "YAMAHA" [[msx:yamaha_yis-805-128r2:yamaha_yis-805-128r2|YIS805]], [[msx:yamaha_yis-503iiir:yamaha_yis-503iiir|YIS503III]]), под управлением операционной системы [[msx:dos:]]. В программе использованы пакеты окон и меню, разработанные Е.В.Налимовым. Программа поддерживает работу с манипулятором "мышь". ====== Руководство пользователя ====== TOR текстовый, 2-оконный редактор (10-буферный), Версия 9 ([[msx:msx_1|MSX]]/[[msx:msx_2]]), автор: Леонид Бараз. :!: В тексте данного документа применяются следующие обозначения: пробелом разделяются клавиши, которые нужно нажимать последовательно, а плюсом — одновременно. Программа TOR представляет собой экранный текстовый редактор. Этот редактор может использоваться на ПЭВМ [[msx:msx_2]] и [[msx:msx_1|MSX]], оснащённых [[msx:yamaha_v9938:yamaha_v9938|VDP 9938]] ("YAMAHA" [[msx:yamaha_yis-503iir:yamaha_yis-503iir|YIS503II]]), под управлением операционной системы [[msx:dos:|]]. Команда вызова редактора: A> Tor[/S[макро]][/Xслово] [файлы ...] При наличии флага ''/S[макро]'' во время запуска редактора автоматически загружается набор макрокоманд, находящийся в файле ''макро'' или ''TOR.TOR'' (в случае ''/S'' без имени файла). При наличии флага ''/Xслово'' сразу устанавливается кодирующее слово, используемое при загрузке и записи файлов. Редактор предоставляет пользователю разнообразные возможности редактирования: * набирать, запоминать и корректировать тексты, состоящие из строк произвольной длины и содержащие любые символы, в том числе графические и управляющие; * редактировать одновременно от 1 до 10 текстов (каждый текст загружается в отдельный текстовый буфер); суммарный размер текстов ограничен количеством доступной оперативной памяти (около 30 000 символов); * использовать при корректировке разнообразные средства редактирования: перемещение на символ/слово/строку/страницу, удаление символа/слова/строки, запоминание строки символов и включение её в любом месте, рассечение и склейка строк и другие; * выполнять простейшее форматирование текста (оформление абзацев с выравниванием правого края, центрирование заголовков) как при вводе, так и по готовому тексту; * выполнять поиск по символьному образцу, а также контекстную замену с подтверждением и без; * устанавливать на экране два текстовых окна, каждое из которых можно связать со своей частью одного или разных редактируемых текстов; * фиксировать фрагмент корректируемого текста и затем удалять, копировать или пересылать его на новое место того же или другого буфера (вместо фрагмента можно скопировать или переслать содержимое второго окна); * работать как в 40-, так и в 80-символьном режиме, независимо от режима операционной системы; * дочитывать в текстовые буфера любые файлы (целиком или частично); * записывать содержимое каждого текстового буфера на диск целиком или частично, как во вновь создаваемый файл, так и в виде дополнения к существующему; * не выходя из редактора, просматривать на экране фрагменты любых файлов, а также распечатывать их или содержимое текстовых буферов; * устанавливать, выполнять и корректировать макрокоманды редактирования; * устанавливать текущую дату и, при наличии Clock-chip,текущее время; * менять цвета текста, фона, разделительной и информационной строк; * в любой момент получать на экране краткую информацию об имеющихся средствах (по нажатию ctrl+?). ===== 1. Редактирование текста ===== Текст может редактироваться в режиме вставки и в режиме замены. Режим вставки устанавливается автоматически при входе в редактор. Смена режима происходит при нажатии клавиши ins. Курсор в режиме замены представляет собой высокий прямоугольник, а в режиме вставки - низкий. При этом внутри физической строки текста прямоугольник сплошной, а при выходе за её пределы — незаполненный. Следует обратить внимание, что при вводе новых символов за пределами физической строки текста перед новым символом автоматически вставляются недостающие пробелы. Для редактирования текста используются специальные клавиши (стрелки, перевод строки и т.д.) и управляющие комбинации клавиш (с нажатой клавишей ctrl). При этом обычное отождествление клавиш не используется: например, комбинации , ctrl+⏎, ctrl+M и shift+ctrl+M — это четыре разных указания редактору. Взамен сочетания клавиш shift+ctrl можно использовать ctrl+esc. ==== 1.1. Перемещение по тексту ==== |,|передвижение курсора на один символ| |ctrl+⇐,\\ \\ ctrl+⇒|передвижение курсора на одно слово| |shift+ctrl+⇐,\\ \\ shift+ctrl+⇒|подвижка влево/вправо соответственно; курсор сдвигается на один символ в указанном направлении, а окно — на столько же в обратном (таким образом, курсор на экране остаётся на месте)| |, |передвижение курсора на одну строку| |ctrl+⇑,\\ \\ ctrl+⇓|передвижение курсора на одну страницу (размер страницы определяется размером текущего окна)| |shift+ctrl+⇑,\\ \\ shift+ctrl+⇓|подвижка вверх/вниз соответственно; курсор сдвигается на одну строку в указанном направлении, а окно - на столько же в обратном (таким образом, курсор на экране остаётся на месте)| ||перевод строки (независимо от режима вставки/замены)| |ctrl+tab|установка курсора на ближайшую справа колонку табуляции (в тексте никаких изменений не происходит)| |shift+ctrl+tab|установка курсора на ближайшую слева колонку табуляции (в тексте никаких изменений не происходит)| |ctrl+M|подвод к строке с данным номером (номер запрашивается)| |shift+ctrl+M|подвод к первой строке группы копирования (установленной по ctrl+B)| |ctrl+V|подвод к первой строке текста| |shift+ctrl+V|подвод к последней строке текста| |ctrl+F|установка курсора на физический конец строки.| |shift+ctrl+F|установка курсора на начало строки| |shift+ctrl+U|запись текущей позиции курсора.| |ctrl+U|установка курсора в записанную позицию (текущее положение курсора запоминается и может быть восстановлено повторным нажатием ctrl+U)| ==== 1.2. Экранное редактирование ==== ||перевод строки (независимо от режима вставки/замены)| |ctrl+⏎|рассечение и перевод строки (также независимо от режима вставки/замены)| |ins|смена режима вставки/замены на противоположный| |ctrl+blank|вставка пробела (при этом курсор остается на прежнем месте| |tab|запись символа табуляции (шаг табуляции пользователь может установить с помощью комбинации клавиш ctrl+|)| |stop|после этой клавиши следующий управляющий символ записывается, а не исполняется (например,stop или stop ctrl+M вызовут запись управляющего символа с кодом ''0D''| |ctrl+=|запись символа по числовому коду (код запрашивается)| |ctrl+[|преобразование заглавных букв в строчные| |shift+ctrl+[|преобразование строчных букв в заглавные| |ctrl+]|преобразование русских букв в латинские| |shift+ctrl+]|преобразование латинских букв в русские| |del|удаление символа, на котором стоит курсор| |ctrl+del|удаление слова, начиная с позиции курсора| |bs|удаление символа влево от позиции курсора| |ctrl+bs|удаление слова влево от позиции курсора| |ctrl+E|стирание всех символов вправо от курсора до конца строки| |shift+ctrl+E|стирание всех символов влево от курсора до начала строки| |ctrl+ins|вставка пустой строки перед текущей| |ctrl+K|удаление текущей строки| |ctrl+N|рассечение строки| |ctrl+J|склейка строк| |ctrl+Y|запоминание символов строки, начиная с позиции курсора (в ответ на запрос о запоминании символов можно с помощью стрелок и клавиш редактирования установить запоминаемый текст и нажать клавишу ;\\ если нажать эту клавишу сразу, запоминаются все символы до конца строки).| |ctrl+P|вставка символов, запомненных по ctrl+Y| |ctrl+C| восстановление строки: если строка была удалена, она снова вставляется в текст;\\ если в ней были сделаны изменения, строка в прежнем (до изменений) виде включается в текст перед измененной строкой. Повторное нажатие ctrl+C убирает восстановленную строку. Для правильного восстановления строка не должна быть длиннее 511 символов. ==== 1.3. Форматирование текста ==== |ctrl+L|форматирование абзаца (в абзац включаются текущая строка независимо от величины ее левого поля и все последующие строки, у которых отступ слева другой)| |shift+ctrl+L|форматирование группы строк (в интервале строк от ctrl+B до shift+ctrl+B выделяются и форматируются абзацы)| |shift+ctrl+Z|центрирование заголовка| |ctrl+I|включение/выключение режима автоматического форматирования при вводе. В 80-символьном режиме включенный режим форматирования отмечается строкой разметки внизу экрана| |shift+ctrl+I|установка параметров форматирования: позиций левого и правого края, отступа в начале абзаца. Установка параметров выполняется в 80-символьном режиме. Текущие значения параметров отображаются в строке разметки внизу экрана. Изменение параметра, отмеченного курсором, осуществляется стрелками, а переход от одного параметра к другому — ctrl+стрелками.\\ Включение/выключение автоматического переноса слов происходит при нажатии клавиши - ("минус").| |ctrl+< |установка левого края по текущей позиции курсора| |ctrl+ >|установка правого края по текущей позиции курсора| |ctrl+ \|установка абзацного отступа по текущей позиции курсора| |ctrl+ -|включение/выключение автоматического переноса слов| При автоматическом форматировании вводимого текста: * ввод символа правее установленного правого края вызывает перенос лишних символов на новую строку (рассечение выполняется по пробелу между словами или путем переноса слова, правый край автоматически выравнивается); * перевод строки воспринимается как признак завершения текущего абзаца и начало нового; текущая строка не выравнивается; курсор устанавливается в позицию отступа при начале абзаца в следующей строке. ==== 1.4. Управляющие клавиши для поиска и замены ==== |ctrl+S|поиск образца вперед по тексту (образец запрашивается)| |ctrl+T|поиск образца назад по тексту (образец запрашивается)| |ctrl+Q|продолжение поиска в прежнем направлении| |ctrl+X|контекстная замена (запрашивается образец, заменяющая строка и режим: с подтверждением или без)| |shift+ctrl+S,\\ \\ shift+ctrl+T,\\ \\ shift+ctrl+Q,\\ \\ shift+ctrl+X|имеют тот же смысл, но образец ищется только в начале слов (каждое слово состоит из "однородных" символов: букв/цифр, графических, управляющих и т.п.)| При двукратном нажатии любой из этих клавиш поиск или контекстная замена будет выполняться во всех буферах. Ввод образца поиска и строки замены заканчивается нажатием клавиши . В образце поиска и в строке замены можно указывать признак произвольного символа ctrl+?. При поиске ему может сопоставляться произвольный символ, а при замене на его месте остается символ из найденного образца (или пробел, если заменяющая строка длиннее образца поиска). В строке образца и/или замены можно указывать признак новой строки; он задается клавишами ctrl+⏎. В строку образца или замены можно вставить символы, запомненные по ctrl+Y. Для этого нужно нажать ctrl+P. Если при поиске вперед (назад) происходит выход на последнюю(первую) строку, на экран выдается сообщение, и поиск продолжается с первой(последней) строки. Поиск или замену можно прервать, нажав ctrl+stop. ==== 1.5. Управляющие клавиши для групповых действий ==== |ctrl+B|пометка текущей строки как первой строки группы копирования| |shift+ctrl+B|пометка текущей строки как последней строки группы копирования.\\ На экране в 80-символьном режиме строки группы копирования выделяются цветом в первой позиции| |shift+ctrl+M|подвод к первой строке группы копирования (установленной по ctrl+B)| |ctrl+G|копирование группы строк (начальная и конечная строки устанавливаются с помощью ctrl+B и shift+ctrl+B). Текущая строка может входить в состав копируемой группы| |shift+ctrl+G|копирование фонового окна (выполняется так же, как и ctrl+G, но копируются строки фонового окна)| |ctrl+H|пересылка группы строк (выполняется так же, как и ctrl+G, но копируемая группа строк на старом месте уничтожается)| |shift+ctrl+H|пересылка фонового окна (выполняется так же, как и ctrl+H, но пересылаются строки фонового окна)| |shift+ctrl+K|удаление группы строк (начальная и конечная строки устанавливаются с помощью ctrl+B и shift+ctrl+B; перед удалением запрашивается подтверждение)| ===== 2. Использование текстовых буферов ===== Каждый редактируемый текст располагается в одном из 10 текстовых буферов. Буфера нумеруются цифрами от 0 до 9. Клавиши управления буферами приведены ниже. |ctrl+U|смена текущего буфера (номер буфера запрашивается)| |ctrl+R|переход к следующему буферу (с номером на 1 больше)| |shift+ctrl+R|переход к предыдущему буферу (с номером на 1 меньше)| |ctrl+D|просмотр информации обо всех буферах; для каждого буфера указываются номер последней строки, ориентировочный размер текста, признак модификации и имя стандартного файла; для буфера, в котором находится группа строк для копирования, указываются также номера первой и последней строк группы.\\ Нажав после просмотра одну из клавиш 0-9,можно перейти в соответствующий буфер (как по ctrl+U)| ===== 3. Использование окон ===== На экране редактор организует два текстовых окна с информационными строками и строку запросов/сообщений. Клавиши управления окнами приведены ниже. Курсор выставляется только в одном из текстовых окон; оно считается основным, а второе окно - фоновым. Информационная строка каждого окна указывает номер буфера, с которым связано данное окно, стандартное имя файла этого буфера, номер текущей строки, номер последней строки, номер текущей позиции и номер начальной строки окна. Для основного окна, в котором находится курсор, в информационную строку также заносится размер остатка свободной памяти, код текущего символа и номера буфера, первой и последней строк группы копирования, если она установлена. Строка запросов/сообщений содержит текущую дату и, при наличии Clock-chip, текущее время. В этой строке появляются все сообщения и запросы редактора. Информационные строки и строка запросов/сообщений в 80-символьном режиме выделяются цветом. Все четыре цвета (символов и фона для текста и для строк) можно менять во время работы редактора. При этом первые два параметра команды COLOR задают цвета символов и фона для текста, а третий параметр — цвет фона информационных строк и строки запросов/сообщений. Если одно из окон не содержит строк текста, его информационная строка на экране не отображается. В начале работы редактора верхнее текстовое окно не содержит строк и на экране отсутствует. |ctrl+O|сдвиг границы окон вверх| |ctrl+shift+O|сдвиг границы окон вниз| |ctrl+W|переход в другое окно| |ctrl+Z|центрирование основного окна (курсор остается в прежней позиции текста, а окно устанавливается так, чтобы курсор оказался как можно ближе к центру окна)| |ctrl+A|согласование окон (номер первой строки фонового окна устанавливается равным номеру первой строки основного окна)| |home|подвод курсора к первой строке окна| |cls (т.е. ctrl+home)|подвод курсора к последней строке окна| |shift+ctrl+G|копирование фонового окна (выполняется так же, как и ctrl+G, но копируются строки фонового окна)| |shift+ctrl+H|пересылка фонового окна (выполняется так же, как и ctrl+H, но пересылаются строки фонового окна)| ===== 4. Настройка ===== |esc|выход в режим команд, связанных с файлами| |select|установка 40– и 80–символьного режима| |ctrl+stop|включение/выключение отображения управляющих символов| |ctrl+||установка нового шага табуляции (значение шага запрашивается); первоначально установлено значение 8| |ctrl+*|установка даты, времени и цветов (символов и фона для текста и информационных строк); стрелки влево и вправо позволяют выбрать одно из полей для изменения, а стрелки вверх и вниз — менять значение выбранного поля| ===== 5. Макрокоманды ===== Последовательность нажатых клавиш может быть оформлена в виде макрокоманды. Всего имеется 10 макрокоманд, которые обозначаются цифрами от 0 до 9. Чтобы начать формирование макрокоманды, надо нажать клавиши shift+ctrl+цифра, и затем выполнить все действия, включаемые в макрокоманду. Количество действий (т.е. управляющих или обычных клавиш) в макрокоманде не может быть больше 64. Результат выполнения этих действий, как обычно, виден на экране. Формирование макрокоманды заканчивается при нажатии ctrl+@. С помощью ctrl+@ можно также посмотреть значения всех макрокоманд. После того, как текущие значения макрокоманд будут выданы на экран, можно нажать одну из клавиш 0-9 и войти в режим редактирования соответствующей макрокоманды. Редактирование осуществляется аналогично вводу образца поиска. Для записи управляющих клавиш перед ними необходимо нажимать stop. Для вызова макрокоманды нужно нажать ctrl+цифра. При этом все записанные при формировании действия выполняются так, как если бы в этот момент были нажаты соответствующие клавиши. Значения макрокоманд можно запоминать на диск и считывать с диска (см. [[#6. Работа с файлами|раздел 6.]]) ===== 6. Работа с файлами ===== После нажатия клавиши esc на экране появляется меню команд, связанных с файлами. Имеются следующие команды: | L\\ \\ F6|Загрузка текста из файла в текущий буфер| | esc L|Загрузка текстов из файлов в пустые буфера (эта же команда выполняется автоматически при запуске редактора)| | s\\ \\ F2|Сохранение текста из текущего буфера в файле| | F7|Сохранение текста из текущего буфера в файле (с запросом)| | esc s|Сохранение всех изменённых текстов в файлах| | A|Дописывание текста из текущего буфера к файлу| | T\\ \\ F1|Выдача файла(файлов) на экран| | P|Распечатка файла(файлов) или буфера(буферов)| | D|Просмотр оглавления диска| | K|Удаление файла(файлов)| | R|Переименование файла(файлов)| | N|Выбор нового имени стандартного файла текущего буфера| | X|Установка слова для кодировки при загрузке и записи текстов| | I|Загрузка значений макрокоманд из файла| | J|Сохранение значений макрокоманд в файле| | C|Очистка текущего текстового буфера| | esc C|Очистка всех текстовых буферов| | Q|Завершение работы редактора| Во всех командах для выполнения требуемого действия по умолчанию предлагается некоторая спецификация (простое или обобщённое имя файла). Чтобы использовать его, достаточно нажать . Взамен можно задать любое имя файла или несколько имён, которые будут использоваться при выполнении данной команды. При загрузке текста в пустой буфер имя файла запоминается в качестве стандартного для этого буфера. Стандартное имя в дальнейшем предлагается по умолчанию при выполнении команд записи (S, esc S, C, esc C, Q). Стандартное имя может быть изменено только командами S и N, a отменено — командами C и esc C. Стандартные имена файлов для буферов первоначально берутся из команды запуска редактора. Эти файлы автоматически загружаются в процессе запуска. Их может быть от 0 до 9. Команды C и esc C отменяют прежнее стандартное имя, и после этого имя файла из первой же команды L становится новым стандартным. Стандартное имя может быть изменено командой N. Оно изменяется также при записи текста целиком в некоторый файл. По командам Q, C и esc C перед выполнением их основного действия выполняется проверка, внесены ли изменения в загруженные тексты. Если изменения были внесены, пользователю предоставляется возможность сохранить тексты в стандартных файлах соответствующих буферов. В командах esc L, esc S, esc C, Q, T, P, K, R имеются режимы с подтверждением и без. В режиме с подтверждением для каждого файла или текста в буфере выдаётся запрос, на который можно ответить * Д(да)/Y(yes), * Н(нет)/N(no), * В(все)/G(go). Чтобы прервать работу, нужно нажать ctrl+stop. При просмотре и распечатке для прекращения выдачи нужно нажать ctrl+stop, а для временной приостановки — любую другую клавишу (выдача возобновляется при нажатии любой клавиши). Файлы, которые загружаются или записываются на диск, могут автоматически кодироваться некоторым словом. Это слово задаётся командой X. Некоторые удобные последовательности команд работы с файлами закреплены за функциональными клавишами. Значения функциональных клавиш выдаются на экран вместе со списком команд после нажатия клавиши esc. ====== Ссылки ====== [[http://zxpress.ru/book_articles.php?id=2403|Вычислительная техника и её применение 1991-3 - Персональная ЭВМ - "Ямаха MSX-2": Текстовый редактор TОP.]] Разные версии программы: [[http://fms.komkon.org/MSX/TOR.zip|ссылка 1]], [[http://www.kameli.net/lt/tor.zip|ссылка 2]]. {{tag>MSX Application text Baraz_L_S}}