После набора текста, прежде чем приступить к его редактирова-
нию и оформлению, следует освоить команды, с помощью которых
можно перемещать курсор по экрану, листать текст, быстро «пере-
прыгивать» в его начало или конец.
На один символ влево.
На один символ вправо.
На одну строку вверх.
На одну строку вниз.
К предыдущему слову. Словом считается последователь-
ность символов, слева и справа ограниченная пробелами.
К следующему слову.
В начало текущей строки текста.
В конец текущей строки текста.
К следующей позиции табулятора. Величина табуляции
показана в служебном экране (Tab by) и может быть изме-
нена командой CS/SS+SS/T.
В начало следующего предложения. Курсор устанавлива-
ется на первый символ, не совпадающий с пробелом,
после ближайшей точки.
В начало экрана (в верхнюю левую позицию экрана).
В конец экрана (в нижнюю левую позицию экрана).
В начало предыдущего экрана.
В начало следующего экрана.
В начало текста.
В конец текста.
На заданную строку текста. Номер строки (от 1
до 9999) вводится в командной строке на запрос
Line No:. Указанная строка выводится в верхней части экрана, а
курсор устанавливается на первый ее символ.
Следующие две команды служат для сдвига текста на экране без
изменения положения курсора (в случае, если он не находится на
одной из крайних строк экрана).
Переместить экран вверх на одну строку.
Переместить экран вииз на одну строку.
Обратите внимание, что позиция курсора, показываемая в ле-
вой части служебного экрана (4 и 6, рис. 20), дает реальные
координаты, то есть номер строки и колонки в тексте, а не на
экране.
После того, как вы освоили набор текста в различных регистрах
и команды перемещения курсора, можно приступить к редактиро-
ванию. Если какой-либо знак вы набрали неверно, а скорее всего,
на первых порах так оно и будет, то его сразу же можно удалить
командой CS/0. При нажатии этой комбинации клавиш с экрана
удаляется символ, стоящий слева курсора. Кроме удаления одного
символа, редактор дает возможность удалить часть строки, часть
текста и, конечно, весь текст.
Команды удаления текста.
Удалить символ. В режиме замены удаляется символ,
под курсором, курсор при этом смещается на предыдущий
символ. В режиме вставки команда CS/0 удаляет символ, распо-
ложенный слева от курсора. В любом режиме, если курсор
находится на строке без символов, то строка удаляется, а курсор
переходит на первый символ следующей строки.
Удалить символы от курсора до конца строки.
Удалить символы от курсора до конца текста. Ко-
манда требует подтверждения. На запрос
Zap to end ? [у] необходимо нажать клавишу Y, если вы действи-
тельно хотите удалить часть текста, либо клавишу Enter для
отмены команды.
Удалить фрагмент текста. На запросы вводятся номера
первой (From line) и последней (to line) строк удаляемого
фрагмента. Команда выполняется сразу после ввода номера
последней строки.
Удалить весь текст. Команда требует подтвержде-
ния. На запрос Zap "file" ? [у] в командной строке
необходимо нажать клавишу Y, если вы действительно хотите
удалить весь текст, либо клавишу Enter для отмены команды.
При наборе к концу каждой строки добавляется пробел, который
позволяет в режиме вставки редактировать последний символ стро-
ки. Однако, команда переоформления абзаца удаляет конечные
пробелы. Возвратить их можно командой:
Вставить в конец строки пробел**, если он от-
сутствует.
Исправить текст можно и не стирая его: поместите курсор на
символ, который нужно заменить, и нажмите требуемую клавишу,
при этом новый символ «затрет» старый. Этот режим редактирова-
ния называется режимом замены. Он устанавливается при запуске
программы. Однако, часто более полезен и удобен режим вставки
при включении которого новый символ не затирает старый, а
вставляется в позицию курсора между существующими символа-
ми. Переключаются режимы замены и вставки командой
Переключить режим вставки/замены символов**.
Включение режима вставки символов отображает-
ся светлой полоской в правой части служебного экрана под
надписью B/free или B/spare (18, рис. 20). После загрузки редак-
тора автоматически устанавливается режим замены символов.
Поиск/замена текста. На запросы вводятся номера
начальной (From line) и конечной (to line) строк текста,
в которых будет вестись поиск/замена. Затем вводится последо-
вательность символов для поиска (Find:) и последовательность
символов для замены (Subst:). Длина обеих последовательностей
не должна превышать 16 символов. При нахождении последова-
тельности появляется сообщение Yes, line # (# — номер строки
текста, в которой найден фрагмент). В командной строке выда-
ется запрос [Find/Subst/Quit] ?, в ответ на который необходимо
нажать клавишу F для продолжения поиска, клавишу S для
замены найденного фрагмента строкой замены и продолжения
поиска, либо SS/Q для отмены команды. В случае отмены коман-
ды курсор устанавливается в строку с последним найденным
вхождением последовательности для поиска. Командой CS/SS+X
можно удалить часть текста, для этого на запрос строки замены
(Subst:) нужно нажать Enter.
При выполнении команды поиска/замены вы впервые встрети-
тесь с еще одной особенностью редактора. До сих пор параметры
команд вводились только в командной строке, но некоторым коман-
дам ее оказывается недостаточно, и редактор для вывода запросов
использует верхние строки основного экрана. Как видно из рис. 21
текст при этом опускается ниже. Ввод очередного параметра завер-
шается нажатием клавиши Enter. Команда выполняется после вво-
да последнего параметра.
Копировать фрагмент текста. На запросы вводятся но-
мера первой (From line) и последней (to line) строк фраг-
мента. Текст вставляется перед текущей строкой. Нельзя встав-
лять фрагмент текста «сам в себя», то есть курсор должен
находиться вне заданного фрагмента.
Изменение заглавного/строчного начертания сим-
волов, от курсора до конца строки включительно.
Все символы будут переведены в строчные, если установлен
нижний регистр (low/c) или в заглавные, если установлен верх-
ний регистр (CAP'S).
Взять/вставить текст в/из буфера*. Фрагмент от курсо-
ра и до конца текста помещается в специальный буфер
редактора. При этом надпись В/free (буфер свободен) в служеб-
ном экране заменяется на B/spare (буфер занят). Повторное
выполнение команды CS/SS+I возвращает в конец текста содер-
жимое буфера.
Используя эту команду, можно удалить фрагмент внутри текста,
а также подгрузить текстовый файл в середину текста.
Вставить в текст строку символов, ранее присвоен-
ную символьной бейсик-переменной с именем
а$ ... z$. Строка может содержать до 130 знаков, цифр, символов
латинского алфавита или кодов операторов непосредственного
управления принтером. По запросу ASSESS: наберите имя пере-
менной. При вводе имени не определенной в Бейсике перемен-
ной, в командной строке выдается сообщение об ошибке. Повто-
рить ввод можно после нажатия любой клавиши. Если
переменная с таким именем существует, то на экран будут
выведены восемь первых символов строки, содержащейся в
переменной, и общее количество символов. Далее требуется
решить, что делать со строкой: по нажатию клавиши U она будет
вставлена в текст; N — возврат к началу команды, то есть ввод
нового имени символьной переменной; SS/Q — отмена ко-
манды.
После набора любую строку текста можно раздвигать, сжи-
мать, центрировать, равномерно растягивать от левой до правой
границы.
Кроме того, можно работать не только с отдельными строками,
но и с абзацами. Абзацем при форматировании считается фрагмент
текста,. начинающийся в строке с курсором и кончающийся в
строке, отмеченной маркером конца абзаца J. Если при наборе
текста абзацы не были сформированы, то маркеры конца абзаца
должны быть расставлены вручную с помощью специальной ко-
манды. Рекомендуется сначала расставить все маркеры, а уже
затем приступать к оформлению текста. Маркеры будут видны на
экране только в режиме индикации маркеров (см. ниже).
Как вы видели, при наборе текст автоматически форматируется
по заданным величинам полей. Однако в процессе редактирования
текста первоначальное оформление, скорее всего, собьется. Испра-
вить это можно с помощью команды форматирования абзаца.
Ниже (рис. 22 и 23) представлен один и тот же текст до и после
выполнения команды переоформления абзаца.
При работе с командами оформления текста помните, что они
используют некоторые параметры, которые надо предварительно
установить. Это величины абзацного отступа, левого и правого
полей, Маркеры концов строк и абзацев.
Сдвинуть текст в строке от курсора на одну позицию влево.
Сдвинуть текст в строке от курсора на одну позицию вправо.
В обеих командах текст сдвигается за счет уменьшения количе-
ства пробелов между словами. Если сдвинуть текст дальше не-
возможно — между словами осталось по одному пробелу — раз-
дается предупреждающий звуковой сигнал.
Следующие три команды изменяют положение текста в строке
относительно левого и правого полей. Если длина строки больше
размера между полями, то команда игнорируется с предупреждаю-
щим звуковым сигналом. После выполнения этих команд курсор
перемещается к началу следующей строки.
Отцентрировать текст в строке. Строка сжимается
(до одного пробела между словами), а затем допол-
няется слева таким количеством пробелов, чтобы оказаться по-
середине между левым и правым полем.
Выровнять строку по правому краю. Между слова-
ми добавляется такое количество пробелов, чтобы
текст в строке равномерно разместился между левым и правым
полем.
Сжать строку. Количество пробелов между слова-
ми уменьшается до одного, при этом строка текста
размещается, начиная с левого поля.
Изменить маркер строки*. Маркер конца строки меня-
ется на маркер конца абзаца, и наоборот.
Отформатировать текст, начиная с текущей строки
до конца абзаца. Форматирование заключается в
том, что количество пробелов между словами изменяется таким
образом, чтобы текст абзаца равномерно разместился между
левым и правым полем. Если текущей строке предшествует
маркер конца абзаца, то в ней делается абзацный отступ. Вели-
чина отступа задается командой CS/SS+SS/T. Если длина какого-
либо слова больше расстояния между полями, то действие ко-
манды прерывается, и курсор устанавливается в эту строку.
Из-за ошибки в программе команда переформатирования абза-
ца работает неправильно при повторной попытке отформатиро-
вать абзац, состоящий из одной строки**. В этом случае к
величине левого поля добавляется размер абзацного отступа
(значение, индицируемое в служебном экране, не изменяется).
Восстановить левое поле можно, только снова введя его величи-
ну командой CS/SS+M.
Включить/выключить режим индикации маркеров.
При включенном режиме (индицируется знаком J в
служебном экране, 9, рис. 20) в конце каждой строки текста
показываются маркеры:
* — маркер конца строки;
J — маркер конца абзаца.
Кроме того, символ, следующий за символом управление пе-
чатью (см. раздел «Обработка текста во время печати»), инвер-
тируется. Если символ управления печатью стоит перед симво-
лом конца строки или конца абзаца, то последние выделяются
подчеркиванием.
Изменение режима не приведет к немедленному перевыводу
экрана, то есть, например, при выключении индикации марке-
ров, они не пропадут с экрана, а лишь не будут выводиться в
дальнейшем.