ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



ГЛАВА 4   СТРОКОВЫЙ РЕДАКТОР EDLIN

     __________________________________________________________

     В этой главе будут рассмотрены следующие темы:

     - Буфер вводимой строки
     - Управляющие символы
     - Строковый редактор Edlin

                  Буфер вводимой строки

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

                  Управляющие символы

     CONTROL+C   Прервать выполнение текущей программы.
     CONTROL+H   Удалить последний символ из командной строки
     CONTROL+J   Вставить физический конец-строки. Используйте
                 клавишу   LINEFEED   (ПС)   для    расширения
                 логической   строки   за  физические  границы
                 терминала (экрана).
     CONTROL+N   Адресовать эхо вывода на принтер.
     CONTROL+P   Адресовать вывод терминала на принтер.
     CONTROL+S   Приостановить вывод на экран. Для продолжения
                 нажать снова.
     CONTROL+X   Отменить и очистить текущую командную строку.
                 После этого вывести обратную косую (\),  ВВОД
                 и   ПС   (перевод  строки).  Эта  команда  не
                 затрагивает буфер командной строки.

     Далее  вы  узнаете, как использовать управляющие символы,
клавиши   редактирования   и   функциональные   клавиши    при
работе со строковым  редактором  Edlin.
 

                 Как работает редактор Edlin

     Edlin  делит  текст  вашего  файла  на строки,  каждая из
которых  может  содержать  до  256  символов.   Всем   строкам
присваиваются   последовательные  номера,  хотя  последние  не
являются частью вашего файла и высвечиваются лишь  для  вашего
удобства.  При  удалении  или  вставке  строк все строки файла
автоматически перенумеровываются.
 

                Начало работы с редактором

     Для запуска редактора введите командную строку следующего
формата:

     edlin имя_файла

     где  имя_файла  -  это  имя  файла,  который  вы   решили
редактировать. Если вы хотите создать новый файл, то имя_файла
-  это имя нового файла. При этом на экране появятся сообщение
(Новый файл) и приглашение, в  виде  символа (*):

     New file
     *_

     Для  ввода строк вам прежде всего необходимо дать команду
I  (вставить). Описание этой команды будет дано ниже, вместе с
описанием всех других команд редактора.

     Примечание:
     Строка считается введенной только после  нажатия  клавиши
     ВВОД.

     Если   вы  решили  редактировать  существующий  файл,  то
последний, перед тем как вы сможете начать его редактирование,
загружается в оперативную память компьютера. Если объем памяти
достаточен для загрузки файла, то  после  его  загрузки  edlin
выводит на экран сообщение:

     End of input file
     (Ввод файла завершен)
     *

     Символ (*) является стандартным приглашением редактора.

     Если   объем   памяти   недостаточен,   то   загрузка   и
редактирование   файла   осуществляется   по   частям,    т.е.
редактируется  и  сохраняется одна часть, затем другая и т.д..
Редактор содержит все необходимые для этой процедуры команды.
     Для   сохранения   созданного/отредактированного    файла
используйте  команду Е. Если редактировался существующий файл,
то оригинал получает новое расширение .bak с тем же именем,  а
новая   версия   файла   наследует  имя  и  старое  расширение
оригинала.

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

            Специальные клавиши редактирования
            ----------------------------------

     __________________________________________________________
     F1

     При нажатии этой  клавиши в текущую строку выводится один
символ из буфера строки и отключается режим вставки. Например,
введите следующую строку:

     1:*sharpe office supplies.
     2:*_

     Теперь, на при нажатиях клавиши F1, в текущую строку один
за другим будут выводиться символы из буфера строки:

     F1
     2:*s_

     F1
     2:*sh_

     F1
     2:*sha_   и т.д.
 
 

     __________________________________________________________
     F2

     При нажатии этой клавиши из буфера строки  выводятся  все
символы  в  текущую  строку  до  тех  пор,  пока не встретится
указанный символ (символ, клавишу которого вы нажимаете  сразу
после  нажатия  клавиши  F2).  Сам  символ в текущую строку не
выводится. Если указанный символ отсутствует в буфере  строки,
то  символы  из  буфера  строки вообще не копируются в текущую
строку. При нажатии клавиши F2 отменяется режим вставки.
     Например, введите следующую строку:

     1:*sharpe office supplies.
     2:*_

     Теперь, при нажатии клавиш F2 и  C  в  текущей
     строке появится следующее:

     2:*sharpe offi_
 
 

     __________________________________________________________
     F3

     При  нажатии  этой клавиши в текущую строку выводятся все
имеющиеся в буфере строки  символы,  независимо  от  положения
курсора  на  момент нажатия клавиши. Курсор помещается в конец
строки. Эта клавиша отменяет режим вставки.
     Например, введите следующую строку:

     1:*sharpe office supplies.
     2:*_

     Теперь, при нажатии клавиш F3  в  текущей
     строке появится следующее:

     2:*sharpe office supplies._
 
 

     __________________________________________________________
     DEL

     Эта  клавиша  позволяет  "перескакивать"  через   символы
буфера строки. Например, введите следующую строку:

     1:*sharpe office supplies.
     2:*_

     Теперь, при нажатии клавиш DEL, DEL и F3  в  текущей
     строке появится следующее:

     2:*arpe office supplies._
 
 

     __________________________________________________________
     F4

     Эта клавиша позволяет вам "перескочить" через все символы
до  указанного  вами  символа  (символ,  клавишу  которого  вы
нажимаете сразу после нажатия клавиши F4).  Сам   символ    не
перескакивается. Если буфер строки не содержит указанного вами
символа,   то  редактор  вообще  не  перескакивает  какие-либо
символы. Например, введите следующую строку:

     1:*sharpe office supplies.
     2:*_

     Теперь, при нажатии клавиш F4 и С  в  текущей
     строке появится следующее:

     2:*ce supplies._
 
 

     __________________________________________________________
     ESC

     С помощью этой клавиши вы можете очистить текущую строку,
не  изменяя  ее  буфер.  Кроме, того в конец строки печатаются
(\), ВВОД и Перевод-Строки. Режим вставки отключается.  Символ
(\)   является   здесь   признаком  отмены  введенной  строки.
Например, введите следующие строки:

     1:*sharpe office supplies.
     2:*The world leader_

     Теперь, при нажатии клавиши ESC  в  текущей
     строке (вторая строка)  появится следующее:
 

     2:*The world leader\

     Нажмите  ввод,  чтобы  оставить  первую  строку  или  для
выполнения  других  функций  редактирования.  Если  вы  теперь
нажмете  F3,  то  символы  из буфера строки будут перенесены в
строку:

     2:*sharpe office supplies.
 
 

     __________________________________________________________
     INS

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

     __________________________________________________________
     F5

     При нажатии этой  клавиши  текущая  строка  копируется  в
буфер с удалением предыдущего содержания буфера. Команды ESC и
F5 идентичны по своим действия, за исключением того, что F5, в
отличие  от  ESC,  изменяет  буфер строки и вместо символа (\)
печатает символ (@).
     Режим вставки отключается.
 
 

     __________________________________________________________
     BKSP (BACKSPACE)

     Эта  клавиша  удаляет  один  символ  из  текущей строки и
помещает курсор буфера строки на один символ назад.  Например,
напечатайте следующую строку:

     1:*sharpe office supplies_

     Теперь, после нажатия клавиш BKSP, BKSP и BKSP  в  текущей
     строке останется следующее:

     2:*sharpe office suppl_
 
 
 
 

     __________________________________________________________
     КОМАНДЫ СТРОКОВОГО РЕДАКТОРА EDLIN

     Примечание:
     -  В  командах  редактора вы можете использовать маршруты
        при указании имен файлов:

        edlin \sharpe\budget\report.may

     -  Вы  можете  обращаться  к  другим строкам относительно
        текущей строки (помечена символом  (*)).  Так,  десять
        строк  впереди  и  десять  строк  после текущей строки
        могут быть определены  в  команде  листинга  следующим
        образом:

        -10,+10L

     -  Пробелы  между  номерами  строк  и  самими  командами
        игнорируются.
     -  Разные команды на одной строке должны быть  разделены
        точкой с запятой:

        15; -5,+5L

     -  Если требуется вставить в строку  управляющие символы,
        например CONTROL+Z, то вовсе не нужно  печатать  слово
        CONTROL  -  достаточно нажать клавишу Ctrl и удерживая
        ее нажать клавишу Z.
     -  Вы  можете  вставить  в  строку   управляющий   символ
        CONTROL+C, используя  символ кавычек (CONTROL+V) перед
        ним в режиме вставки. CONTROL+V сообщает системе,  что
        следующую  заглавную  букву  следует  воспринимать как
        управляющий символ, например:

        sCONTROL+VZ

        Чтобы таким же образом вставить сам символ  CONTROL+V,
        нажмите CONTROL+V, а затем V.
     -  Используйте  ключ  /b  при  вызове  редактора,  когда
        символ CONTROL+Z не должен рассматриваться в файле как
        признак конца файла, например:

        edlin macro.asm /b

     -  Команды редактора могут использовать ряд опций, список
        которых приведен ниже:

        ОПЦИЯ строка   -  номер  строки.  Номера  строк  могут
                          отделяться от команд, опций или друг
                          от   друга   пробелом  или  запятой.
                          Строка может быть  определена  одним
                          из трех способов:

                          номером строки:

                          Любое  число, меньшее 65534. Если вы
                          укажете  число,  большее  65534  или
                          большее существующего номера строки,
                          то  указываемый  номер  строки будет
                          относиться к  строке,  следующей  за
                          последней строкой.

                          точкой (.):

                          Если вы укажете точку вместо  номера
                          строки,   то   это   будет  означать
                          текущую строку. Обратите внимание на
                          то,  что   текущая   строка   всегда
                          помечена символом (*).

                          символом (#):

                          Если  вы  укажете этот символ вместо
                          номера строки, то это будет означать
                          строку,   следующую   за   последней
                          строкой файла.

                          по умолчанию:

                          Значения  номеров строк по умолчанию
                          приведены   при   описании    каждой
                          команды.

        ОПЦИЯ (?)      -  С помощью  этой  опции    вы  можете
                          заставить редактор перед выполнением
                          команд  R  и  S   запрашивать   ваше
                          подтверждение:  Y (да) и N (нет) или
                          любая другая клавиша - "без ответа".

        ОПЦИЯ текст    -  Эту  опцию  используйте   только   с
                          командами  S и R для поиска и замены
                          текста.
 

     Далее приводится подробное описание команд редактора.
 
 
 
 
 

     __________________________________________________________
     APPEND (a)

     Синтаксис:

     [количество]a

     Комментарий:
     Если редактирумый файл слишком  велик  и  не  может  быть
загружен  в  память  весь  сразу,  то  вы  можете использовать
описываемую  команду  для  чтения  файла  порциями.   Параметр
"количество"  указывает,  сколько строк необходимо прочитать в
память. При запуске редактора, последний  считывает  в  память
максимально   возможное  количество  строк.  Отредактированные
порции нужно записывать на диск, освобождая место новым.

     Примечание:
     Если   вы   опустите  опцию  количество,  то  файл  будет
загружаться до тех пор, пока память не будет заполнена на  три
четверти.
     Если доступная память уже заполнена до трех четвертей, то
редактор не будет ничего делать. Вам придется либо освобождать
память  от  ненужных в данный момент программ, либо попытаться
перезапустить систему.

     Пример:
     Загрузить 100 оставшихся (незагруженных) строк:

     100a
 
 
 
 
 

     __________________________________________________________
     COPY (c)

     Синтаксис:

     [строка],[строка],строка[,число]c

     Комментарий:
     Команда помещает указанное "число" раз (по умолчанию один
раз) блок строк, границы которого обозначены первым  и  вторым
параметром   "строка",   перед   строкой,   указанной  третьим
параметром  "строка".  Если  вы  опустите  первый  или  второй
параметр "строка", то будет выбрана текущая строка.
     Будте  внимательны,  следующая  строка  приведет к выводу
сообщения об ошибке на вводе  "Entry  error",  т.к.  указанная
строка назначения входит в копируемый блок строк:

     3,20,15с
 
 
 
 
 

     __________________________________________________________
     DELETE (d)

     Синтаксис:

     [строка][,строка]d

     Комментарий:
     Эта  команда  удаляет  блок   строк,   границы   которого
определены  первым  и  вторым  параметрами  "строка".  Если вы
опустите первый параметр, то таковым будет  считаться  текущая
строка,  а  если  вы  опустите  второй параметр, то в качестве
второго параметра будет выбрана первая строка.

     Пример:
     Удалить блок строк начиная от  текущей  строки  и  кончая
строкой с номером 11 (включительно):

     ,11d
 
 
 
 
 

     __________________________________________________________
     LINE EDIT

     Синтаксис:

     [строка]

     Комментарий:
     Эта  команда  позволяет  вам выбрать (указать) строку для
редактирования. При этом указанная строка выводится  отдельно,
а  под  ней  редактор помещает ее же номер и свое приглашение.
Теперь вы можете, используя клавиши  редактирования и глядя на
старый  вариант,  редактировать  выбранную  строку  до нажатия
ВВОД.   Если   вы   нажмете   ВВОД  без  указания  строки,  то
редактироваться будет  строка,  следующая  за  текущей.  После
редактирования не забывайте нажимать ВВОД.

     Примечание:
     Если  вы  нажмете  ВВОД  в момент, когда курсор находится
внутри  строки,  то  правая  от  курсора  часть  строки  будет
удалена.
 
 
 
 
 

     __________________________________________________________
     END/SAVE (e)

     Синтаксис:

     е

     Комментарий:
     Описываемая  команда сохраняет на диске отредактированный
файл, переименовывает старую версию на имя_файла.bak, а  затем
обеспечивает выход из редактора. Если файл был создан во время
этого  сеанса  работы с редактором, то файл с расширением .bak
не создается.
     Дисковод и каталог для сохранения файла  вы  должны  были
выбрать  заранее,  т.е. вовремя запуска редактора, в противном
случае  отредактированный  файл  будет  сохранен  на   текущем
дисководе.
 
 
 
 
 

     __________________________________________________________
     INSERT (i)

     Синтаксис:

     [строка]i

     Комментарий:
     Эта команда позволяет вам вставить текст  непосредственно
перед указанной строкой. При создании нового файла, прежде чем
вы  сможете вводить какие-либо строки, вы должны войти в режим
вставки   с   помощью   этой   команды.   Строки    нумеруются
автоматически  и  появляются  каждый  раз,  когда вы нажимаете
ВВОД. Редактор продолжает оставаться в режиме вставки  до  тех
пор, пока вы не нажмете CONTROL+C.
     Если  вы  опустите  опцию  строки,  то по умолчанию будет
принята текущая строка.  Чтобы  поместить  вводимые  строки  в
конец  файла  надо  в качестве параметра строки указать символ
(#) или число, превышающее количество строк  в  файле  (см.  в
начале главы описание опций).
 
 
 
 
 

     __________________________________________________________
     LIST (l)

     Синтаксис:

     [строка][,строка]L

     Комментарий:
     По этой команде на экран выводится  блок  строк  (включая
указанные  строки),  границы  которого  определены параметрами
"строка". Если вы опустите  первый  параметр,  то  в  качестве
такового  будет  выбрана строка, чей номер на 11 меньше номера
текущей строки. Если вы опустите  второй  параметр,  то  будет
выведено  23  строки,  начиная  со  строки, указанной в первом
параметре (или указанной поумолчанию).

     Примечание:
     Заглавная буква L показана  только  для  того,  чтобы  не
     путали ее прописной вариант с единицей (l и 1).
     Если  указанная  строка  имеет  номер  меньший, чем номер
     строки следующей  за  11  строк  до  текущей  строки,  то
     результирующий вывод будет аналогичен выводу при пропуске
     обоих параметров.
 
 
 
 
 

     __________________________________________________________
     MOVE (m)

     Синтаксис:

     [строка,][+]строка,строкаm

     Комментарий:
     Описываемая команда позволяет вам переместить блок строк,
границы   которого   определены  первым  и  вторым  параметром
"строка", на позицию строки, определяемой  третьим  параметром
"строка".  Третья строка не должна входить в перемещаемый блок
строк, иначе будет выведено сообщение об ошибке ввода - "Enter
error". Например, следующая команда передвигает блок строк  от
текущей строки плюс 25 строк на строку с номером 100:

     ,+25,100m
 
 
 
 
 

     __________________________________________________________
     PAGING (p)

     Синтаксис:

     [строка][,строка]p

     Комментарий:
     С  помощью  этой  команды  вы  можете просматривать текст
файла, начиная  со  строки,  определяемой  первым   параметром
"строка"  или,  если  по умолчанию, то со строки, следующей за
текущей.  Второй   параметр   определяет   количество   строк,
включаемых  в одну страницу (экранную) просмотра. По умолчанию
выводятся 23 строки текста.
 
 
 
 
 

     __________________________________________________________
     QUIT/NO SAVE (q)

     Синтаксис:

     q

     Комментарий:
     С помощью этой команды вы можете выйти  из  редактора  не
сохраняя  внесенные  изменения  и  не затирая предыдущую копию
файла с расширением .bak. Выполните следующие действия:

     - Нажмите CONTROL+C для выхода из режима вставки.
     - При появлении символа (*) нажмите Q.
     - Появилось сообщение:

       "Abort edit (Y,N)?"
       "Отказаться от внесенных изменений (Д,Н)?"

     - Нажмите Y (да), а затем ВВОД.
 
 
 
 
 

     __________________________________________________________
     REPLACE (r)

     Синтаксис:

     [строка][,строка][?]rтекст1 CONTROL+Z текст2

     Комментарий:
     По этой команде каждое вхождение текста1 в  блоке  строк,
границы   которого   определены  первым  и  вторым  параметром
"строка", заменяется на текст2. Например, по следующей команде
все слова "мои" (mine) в блоке из 20 строк  будут  заменены  на
слова "наши" (ours):

     1,20rmineCONTROL+Zours

     Как  уже  объяснялось  в  начале главы, не нужно печатать
слово CONTROL+Z. Достаточно нажать клавишу Ctrl  и,  удерживая
ее,  нажать  клавишу Z. Если вы укажете знак вопроса, то перед
каждой заменой редактор будет запрашивать  ваше  подтверждение
"О.К."?  (согласны?).  Если  вы  в  ответ  нажмете  какую-либо
клавишу, кроме Y, то замены этого вхождения выпонено не будет.
     Если вы не укажете текст1 или текст2,  то  будет  принято
значение,  которое  вы  указывали в командах s или r в прошлый
раз. Если же это первый случай вызова такой команды  во  время
одного  сеанса работы с редактором то выполнение команды будет
прервано. Если вы не  указываете  параметр  текст2,  то  после
параметра  текст1 вы должны нажать ВВОД. Значение по умолчанию
для первой строки - строка, следующая за текущей, а для второй
строки - строка, следующая за последней строкой файла.
     Если вы после символа CONTROL+Z нажмете  сразу  ВВОД,  то
все вхождения текста1 будут  заменены  на  пробелы.  Следующая
команда   заменяет   все   вхождения  предыдущего  текста1  на
предыдущий текст2, начиная со строки, следующей за текущей:

     R

     Предыдущее значение текста1 или текста2 -  это  значение,
которое вы указывали в командах s или r в прошлый раз.
 
 
 
 
 

     __________________________________________________________
     SEARCH (s)

     Синтаксис:

     [строка][,строка][?]sтекст

     Комментарий:
     Команда s выполняет поиск указанной строки текста в блоке
строк,   границы  которого  определены  параметрами  "строка".
Первая найденная строка, удовлетворяющая условию, выводится на
экран и становится текущей. Если вы не укажете символ (?),  то
выполнение  команды  s  завершается  после  нахождения первого
соответствия. Если соответствие не  будет  найдено,  то  будет
выведено сообщение:

     Not found
     Не найдено

     Если вы  укажете  знак  вопроса,  то  перед  продолжением
поиска   редактор  будет  запрашивать  ваше  подтверждение  на
прекращение поиска - "О.К."?  (согласны?).  Если  вы  в  ответ
нажмете любую клавишу, кроме клавиш Y или ВВОД, то поиск будет
продолжен.   Иначе,   т.е.  Y  или  ВВОД,  строка,  содержащая
найденное   соответствие,   становится   текущей,   а    поиск
прекращается.
     Значение  по  умолчанию  для  первой  строки  -   строка,
следующая  за текущей, а для второй строки - строка, следующая
за последней строкой файла. Если вы не укажете параметр текст,
то будет принято значение, которое вы указывали в  командах  s
или  r  в  прошлый раз. Если же это первый случай вызова такой
команды  во  время  одного  сеанса  работы  с  редактором   то
выполнение команды будет прервано.
 
 
 
 

     __________________________________________________________
     TRANSFER (t)

     Синтаксис:

     [строка]tимя_файла

     Комментарий:
     Эта  команда  переносит  содержимое  указанного  файла  в
редактируемый  файл и помещает его, начиная с указанной строки
(по  умолчанию  - текущей строки). Строки редактируемого файла
будут автоматически перенумерованы.
 
 
 
 

     __________________________________________________________
     WRITE (w)

     Синтаксис:

     [число]w

     Комментарий:
     Команда w записывает указанное "число" строк  на  текущий
дисковод.  Эта  команда может понадобиться вам обычно только в
случае, если размер файла не позволяет загрузить его в  память
полностью.  В  этом  случае  вам  придется  редактировать файл
порциями,  т.е.  загрузить   часть   файла,   отредактировать,
записать  ее  на диск с помощью описываемой команды, загрузить
другую  часть  с  помощью  команды  append,   отредактировать,
сохранить и т.д..


© KOAP Open Portal 2000



?????? ???????????