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



 

Часть 9

                             ГЛАВА 8.

                        РЕДАКТОР ОТ А ДО Z.

     Эта глава является полным справочником команд  редактора Turbo
Pascal.  Таблица 8.1 содержит список всех команд редактора; таблицы
и текст,  следующие  за  ними,  охватывают  те  аспекты  редактора,
которые нуждаются в дальнейшем пояснении.

     Помните, эта глава касается только редактора.  Консультацию по
редактору  и  интегрированной   усовершенствованной   среде   можно
получить  в  главе  1  этого руководства;  полная информация о всей
интегрированной усовершенствованной среде Turbo Pascal содержится в
главе 7.

     Примечание. Вы  должны  прочитать эту главу даже в том случае,
если хорошо  знаете  редакторы  в  другой  продукции  Turbo.  Новая
интегрированная усовершенствованная  среда  Turbo  Pascal  включает
усовершенствования   по    редактору.    Контекстно-ориентированную
справочную информацию всегда можно получить по клавише F1.


                          Старое и новое.

    Новая интегрированная усовершенствованная  среда  Turbo  Pascal
все еще предлагает использовать комбинации горячих клавишей Borland
для перемещений в файле,  вставки,  копирования,  удаления  текста,
поиска  и замены.  Однако она предоставляет два новых меню в полосе
меню: меню Edit и Search.  Вдобавок,  Turbo Pascal имеет  поддержку
мышки для многих команд передвижения курсора и пометки блока.

     Меню Edit   содержит  команды  для  вырезания,  копирования  и
вставки текста в файл,  копирования примеров из окна  Help  в  окно
Edit  (редактора)  и  просмотра содержания кармана.  Если Вы сейчас
запустите Turbo Pascal в  первый  раз,  окно  редактора  уже  будет
активно. Чтобы открыть другие окна редактора, войдите в меню File и
выберите Open.  Из окна редактора просто нажмите F10 для  получения
полосы  меню;  чтобы  вернуться  в  окно  редактора,  нажимайте Esc
столько раз,  пока не выйдете из меню.  Если имеется  мышка,  нужно
просто отметить в любом месте окна редактора.

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

     Редактор имеет способность восстановления, позволяющую вернуть
назад изменения  последней  модифицированной  строки.  Эта  команда
(Edit/Restore Line) описана в разделе "Другие команды  редактора" в
этой же главе.


                       Справочник редактора.

     Редактор является гораздо более мощным  средством,  чем  может
показаться  после  краткого  обзора.  Вдобавок  к  выбору меню,  он
использует примерно 50 команд  для  перемещения  курсора,  листания
страниц, нахождения и замены строк и т.д. Эти команды можно разбить
на четыре основные категории:

     - передвижение курсора;

     - операции вставки и удаления;

     - операции над блоками;

     - разнообразные операции редактирования.

     Многие из этих команд в пояснении не нуждаются,  а те, которые
нуждаются, поясняются в тексте, следующем за таблицей 8.1.


                           Таблица 8.1.

                  Полный обзор команд редактора.
___________________________________________________________________

Передвижение                                   Команда
___________________________________________________________________


                   Команды передвижения курсора

     Основное передвижение курсора

На символ влево                                ч
На символ вправо                               ц
На слово влево                                 Ctrlч
На слово вправо                                Ctrlц
На строку вверх                                ш
На строку вниз                                 щ
Скроллинг вверх на одну строку                 Ctrl-W
Скроллинг вниз на одну строку                  Ctrl-Z
На страницу вверх                              PgUp
На страницу вниз                               PgDn

     На большие расстояния

Начало строки                                  Home
Конец строки                                   End
Верх окна                                      Ctrl Home
Низ окна                                       Ctrl End
Начало файла                                   Ctrl PgUp
Конец файла                                    Ctrl PgDn
Начало блока                                   Ctrl-Q B
Конец блока                                    Ctrl-Q K
Последняя позиция курсора                      Ctrl-Q P


                    Команды удаления и вставки.

Включение/выключение режима вставки    Options/Environment/Editor/
                                           Insert Mode или Ins
Удалить символ слева от курсора               Backspace
Удалить символ под курсором                    Del
Удалить слово справа                           Ctrl-T
Вставить строку                                Ctrl-N
Удалить строку                                 Ctrl-Y
Удалить конец строки                           Ctrl-Q Y


                     Команды работы с блоками.

Отметить блок            Shiftц,ч,ш,щ, Ctrl-K B, Ctrl-K K
Отметить одно слово      Ctrl-K T
Скопировать блок         Edit/Copy, Edit/Paste или
                         Ctrl-Ins, Shift-Ins
Переместить блок         Edit/Cut, Edit/Paste или
                         Shift/Del, Shift/Ins
Удалить блок             Edit/Clear или Ctrl-Del
Прочитать блок с диска   Ctrl-K R
Записать блок на диск    Ctrl-K W
Спрятать/показать блок   Ctrl-K H
Напечатать блок          File/Print или Ctrl-K P
Сделать отступ блока     Ctrl-K I
Отменить отступ блока    Ctrl-K U


                     Другие команды редактора.

Включение/выключение             Options/Environment/Editor/
автоотступа                      Autoindent Mode *
Префикс управляющего символа **  Ctrl-P
Найти маркер места               Ctrl-Q n ***
Идти к полосе меню               F10
Новый файл                       File/New
Открыть файл                     File/Open (F3)
Включение/выключение             Options/Environment/Editor/
оптимального режима заполнения   Optimal Fill *
Соответствие пар                 Ctrl-Q [и Ctrl-Q]
Печатать файл                    File/Print
Выход из интегрированной
усовершенствованной среды        File/Quit (Alt-X)
Повторить последний поиск        Search/Search Again или Ctrl-L
Восстановить сообщение об
ошибке                           Ctrl-Q W
Восстановить строку              Edit/Restore Line или Ctrl-Q L
Вернуться в редактор из меню     Esc
Сохранить                        File/Save (F2)
Найти                            Search/Find или Ctrl-Q F
Найти и заменить                 Search/Replace или Ctrl-Q A
Установить маркер                Ctrl-K n ***
Передвинуться с помощью
табуляции                        Tab
Режим табуляции                  Options/Environment/Editor/
                                 Use tab characters *
Режим без отступа                Options/Environment/Editor/
                                 Backspace Unindents *

     * Эта  команда  открывает  диалоговое  окно Editor Options,  в
котором можно установить соответствующие зависимые  или независимые
кнопки.

     ** Введите управляющие  символы  посредством  первого  нажатия
Ctrl-P, затем  нажмите требуемый управляющий символ.  В зависимости
от установок Вашего экрана,  управляющие символы  высветятся  менее
ярко как строчные или более ярко как прописные буквы.

     *** n - это число от 0 до 9.
___________________________________________________________________

     Примечания:

     1. Слово   определено   как    последовательность    символов,
разделенных одним из следующих знаков:  пробел < > . : () ^ ` * + -
/ $ # _ = | ~ ?  !  " %  &  @  \  {}  []  и  всеми  управляющими  и
графическими символами.

     2. Многие  из  команд  этой  таблицы можно выполнить с помощью
мышки. См. главу 7.


                          Скачки курсора.

     Существуют три  команды передвижения курсора,  которые требуют
дополнительных пояснений:

     Ctrl-Q B и Ctrl-Q K передвигают курсор к  маркеру начало-блока
или конец-блока.  Обе эти команды работают даже в том случае, когда
блок  не  видно  (см.  "Спрятать/показать блок"   в   таблице 8.2).
Ctrl-Q B  работает  даже  в том случае,  если маркер конец-блока не
установлен, а Ctrl-Q K работает даже  тогда,  когда  не  установлен
маркер начало-блока.

     Ctrl-Q P  передвигает  курсор  к  последней  его позиции перед
последней командой.  Эта  команда  особенно  полезна,   если   была
выполнена операция  поиска  или  поиска-и-замены,  а  Вы  хотели бы
вернуться туда, где Вы находились перед выполнением поиска.


                     Команды работы с блоками.

     Блок -  это любое количество текста,  от единственного символа
до сотен строк, которое должно быть помечено специальными символами
маркер-блока. Одновременно в окне может быть только один блок. Блок
помечается путем помещения маркера начало-блока на первый  символ и
маркера конец-блока  на  последний  символ  требуемой части текста.
Помеченный блок можно копировать, передвигать, удалять, выводить на
печать или записывать в файл.


                            Таблица 8.2.

                     Команды работы с блоками.

___________________________________________________________________

Перемещение        Команда(ы)           Функция
___________________________________________________________________

Отметить блок      Shiftц,ч,ш,щ  Отмечает (высвечивает) блок по
                                 мере продвижения курсора.
                                 Отмеченный текст высвечивается с
                                 другой интенсивностью.

Отметить слово     Ctrl-K T      Помечает отдельное слово как блок.
                                 Если курсор находится внутри
                                 слова, то оно будет помечено. Если
                                 курсор находится вне слова, то
                                 помечено слово, находящееся слева
                                 от курсора.

Скопировать блок   Edit/Copy,    Копирует заранее помеченный блок
                   Ctrl-Ins      в карман и вставляет его в текущей
                                 позиции курсора. Исходный блок
                   Edit/Paste,   остается неизменным, а маркеры
                   Shift-Ins     блока помещаются вокруг новой
                                 копии блока. Если блок не помечен
                                 или курсор находится внутри
                                 помеченного блока, то ничего не
                                 произойдет.

Переместить блок   Edit/Cut,     Перемещает заранее помеченный блок
                   Shift-Del     из исходной позиции в карман и
                                 вставляет в  текущей позиции. Блок
                   Edit/Paste,   исчезает из исходной позиции, а
                   Shift-Ins     маркеры остаются вокруг блока на
                                 его новой позиции. Если блок не
                                 помечен, ничего не произойдет.

Удалить блок       Edit/Clear,   Удаляет заранее помеченный блок.
                   Ctrl-Del      Для восстановления удаленного
                                 блока ничего не предусмотрено,
                   Ctrl-K Y      поэтому будьте внимательны при
                                 выполнении этой команды.

Записать блок      Ctrl-K W      Записывает заранее отмеченный блок
на диск                          в файл. Блок остается неизменным,
                                 а маркеры остаются на месте. При
                                 работе с этой командой появится
                                 подсказка для имени файла, в
                                 который будет записан блок. Файлу
                                 можно дать любое имя (расширение
                                 по умолчанию .PAS). Если Вы хотите
                                 задать имя файла без расширения,
                                 добавьте точку в конце имени.

                                 Примечание. Можно задать специфи-
                                 каторы для выбора файла; появится
                                 справочник. Если заданный файл уже
                                 существует,появится предупреждение
                                 до перезаписи этого файла. Если
                                 блок не помечен, ничего не
                                 произойдет.

Считать блок       Ctrl-K R      Считывает файл с диска в текущий
с диска                          текст в позиции курсора, как если
                                 бы он был блоком. Считанный текст
                                 затем помечается как блок. После
                                 задания этой команды выдастся
                                 подсказка для имени считываемого
                                 файла. Можно использовать специфи-
                                 каторы для выбора файла; появится
                                 справочник. Задаваемый файл может
                                 иметь любое правильное имя.

Спрятать/Показать  Ctrl-K H      Приводит к включению или выключе-
блок                             нию визуального изображения поме-
                                 ченного блока. Команды управления
                                 блоками (скопировать, переместить,
                                 удалить, напечатать и записать в
                                 файл) работают только тогда, когда
                                 блок высвечен.Перемещения курсора,
                                 относящиеся к блоку (скачок на
                                 начало/конец блока) работают
                                 независимо от того, спрятан блок
                                 или показан.

Вывести блок       Ctrl-K P      Посылает помеченный блок активного
на печать                        окна редактора на печать.

Вывести на печать  File/Print    Посылает целый файл в активном
                                 окне редактора на печать.
___________________________________________________________________


                  Другие команды редактирования.

     Следующая таблица  описывает  некоторые команды редактирования
более подробно.  Эта  таблица  организована  в   лексикографическом
порядке по имени команды.


                           Таблица 8.3.

                     Другие команды редактора.

___________________________________________________________________

Перемещение       Команда(ы)               Функция
___________________________________________________________________

Автоотступ    Options/      Открывает диалоговое окно Editor
              Environment/  Options, в котором можно переключить
              Editor        независимую кнопку Autoindent Mode.
                            Обеспечивает автоматический отступ
                            последовательных строк. Когда
                            Autoindent активна, то отступ текущей
                            строки повторяется на каждой следующей
                            строке; т.е. при нажатии Enter курсор
                            возвращается не к первому столбцу, а к
                            начальному столбцу предыдущей непустой
                            строки. Если Вы хотите изменить отступ,
                            используйте ПРОБЕЛ и ч для выбора
                            нового столбца. По умолчанию автоотступ
                            включен.

Найти маркер  Ctrl-Q n      Поиск десяти маркеров места (n - любое
места                       число от 0 до 9) в тексте. Перемещает
                            курсор к заранее установленному маркеру
                            путем нажатия Ctrl-Q и номера маркера.

Новый файл    File/New      Открывает новое окно.

Открыть файл  File/Open     Позволяет загрузить существующий файл в
              (F3)          окно редактора.

Выйти из      File/Quit     Осуществляет выход из Turbo Pascal.
редактора     (Alt-X)       Будет выдан запрос, хотите ли Вы
                            сохранить файл на диске.

Восстановить  Edit/         Позволяет Вам отменить изменения,
строку        Restore Line  сделанные над последней строкой. Строка
                            восстанавливается в своем изначальном
                            виде независимо от выполненных
                            изменений. Эта команда работает только
                            с последней модифицированной или
                            удаленной строкой.

Сохранить     File/Save     Сохраняет файл и возвращается в
файл          (F2)          редактор.

Задать место  Ctrl-K n      Помечает 10 мест в тексте путем нажатия
                            Ctrl-K, сопровождаемой цифрой маркера
                            (от 0 до 9). После отметки расположения
                            можно работать в любом месте файла и
                            затем легко   вернуться  к  помеченному
                            месту путем использования команды
                            Ctrl-Q n (убедитесь, что номер маркера
                            совпадает). В каждом окне можно
                            помечать до 10 мест.

Табуляция     Tab           По умолчанию табулирует на восемь
                            столбцов в редакторе Turbo Pascal.

Режим         Options/      Открывает диалоговое окно Editor
табуляции     Environment/  Options, в котором можно установить
              Editor        независимую кнопку Use Tab Character.
                            Когда опция включена, можно вставлять
                            символ табуляции (8-й символ ASCII);
                            а когда отключена, табуляция автомати-
                            чески вставляется как соответствующее
                            число пробелов.
___________________________________________________________________


                          Поиск и замена.

     Команды Search/Find  и  Search/Replace  позволяют осуществлять
поиск (и возможно замену) строк.

     Строка поиска   может   содержать   любые   символы,   включая
управляющие. Можно  ввести  управляющие символы с префиксом Ctrl-P.
Например, введите Ctrl-T,  нажимая ключ Ctrl одновременно  с  Р,  а
затем  нажав  Т.  Можно  включить прерывание строки в строку поиска
посредством  задания  Ctrl-M   (возврат   каретки).   (Для   поиска
регулярных выражений посмотрите файл UTILS.DOC).

     Примечание. Строка поиска также называется строкой назначения.

     Следующие разделы   перечисляют   шаги   для  выполнения  этих
операций.


                     Поиск и повторный поиск.

     1. Выберите Search/Find. Это откроет диалоговое окно Find.

     2. Наберите строку,  которую Вы ищете,  в окне ввода  Text  to
Find.

     3. Можно также установить различные опции поиска:

         - Зависимые кнопки Direction определяют направление поиска
           (вперед или назад).

         - Зависимые  кнопки  Scope  определяют область в файле для
           поиска.

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

         - Независимые кнопки Options определяют,  будет  ли  поиск
           ориентирован только   на   целые  слова  или  регулярные
           выражения.

          Используйте Tab или мышку для перехода между опциями. Для
           установки  зависимых  кнопок  используйте  ш и щ,  а для
           переключения  независимых  кнопок  используйте   клавишу
           ПРОБЕЛ.

     4. Наконец,  выберите кнопку ОК для выполнения поиска и Cancel
для отказа от него. Turbo Pascal выполнит операцию.

     5. Если  Вы  хотите  повторить  поиск  по  тому  же  элементу,
используйте Search/Search Again.


                          Поиск и замена.

     1. Выберите  Search/Replace.  Это  откроет   диалоговое   окно
Replace.

     2. Наберите строку,  которую Вы ищете,  в окне ввода  Text  to
Find.

     3. Нажмите Tab или использьуйте мышку для перемещения  к  окну
ввода New Text. Наберите строку замены.

     4. Затем  Вы можете установить такие же опции поиска,  как и в
диалоговом окне Find.

     5. Наконец,  выберите  кнопку  ОК  или  Change  All для начала
поиска, и  Cancel  для  отказа  от  него.  Turbo  Pascal   выполнит
операцию. Выбор Change All заменит все вхождения образца поиска.

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


                         Соответствие пар.

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

     - фигурными скобками: { и }

     - круглыми скобками: ( и )

     - квадратными скобками: [ и ]

     - двойными кавычками: "

     - одиночными кавычками: '

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

     1. Поместить курсор на разделитель (например,  на  открывающую
фигурную скобку какой-то функции, занимающей несколько экранов).

     2. Чтобы   определить   местоположение   пары  для  выбранного
разделителя, просто нажмите  Ctrl-Q[.  (В  заданном  примере,  пара
будет находиться в конце функции).

     3. Редактор   немедленно  передвинет  курсор  на  разделитель,
соответствующий указанному. Если он передвинется на разделитель, по
Вашим предположениям являющийся парой для указанного,  то Вы будете
знать, что код,  находящийся между этими  двумя  разделителями,  не
содержит непарных разделителей этого типа.  Если он передвинется на
неправильный разделитель,  значит в River  City  беда;  теперь  Вам
нужно проследить по исходному коду причину несоответствия.

     Мы рассказали Вам основные команды Turbo Pascal  "Match Pair";
теперь  сообщим  Вам некоторые подробности о том,  что можно и чего
нельзя сделать с помощью этих команд,  и несколько нюансов, которые
нужно знать. Этот раздел охватывает несколько моментов:

     - На  самом  деле  существуют  две  команды редактирования для
проверки соответствия пар:  одна для проверки вперед  (Ctrl-Q[),  а
другая для проверки соответствия назад (Ctrl-Q]).

     - Если для выбранного разделителя не нашлось пары, то редактор
не переместит курсор.


            Направленное и ненаправленное соответствие.

     Две команды соответствия пар необходимы,  потому что некоторые
разделители являются ненаправленными.

     Например, Вы  отдали  команду   редактору   найти   пару   для
открывающей фигурной  скобки  ({) или открывающей квадратной скобки
([). Редактор  знает,  что  соответствующий  разделитель  не  может
находиться ПЕРЕД  выбранным  разделителем,  поэтому он осуществляет
поиск вперед.  Если Вы отдали  команду  редактору  найти  пару  для
закрывающей фигурной скобки (}) или закрывающей круглой скобки ()),
то он знает, что парная скобка не может находиться ПОСЛЕ выбранного
разделителя, поэтому автоматически осуществляет поиск пары назад.

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

     Однако, если Вы отдатите  редактору  команду  найти  пару  для
двойной (")  или  одиночной  (') кавычки,  то он не знает,  в каком
направлении идти.  Вы должны задать направление поиска  посредством
задания корректной  команды  соответствия  пар.  Если  Вы  зададите
команду Ctrl-Q  Ctrl-[,  редактор  будет  осуществлять  поиск  пары
вперед; если Вы зададите команду Ctrl-Q Ctrl-],  то он будет искать
пару назад.

     Вывод: двойные и одиночные кавычки  являются  ненаправленными.
Нужно задавать корректную команду соответствия пары.

     Следующая таблица  дает  краткий   обзор   пар   разделителей,
предполагается ли  для  них  направление поиска и могут ли они быть
вложенными.


                           Таблица 8.4.

                        Пары разделителей.

___________________________________________________________________

Пара разделителей      Подразумевается ли     Могут ли они быть
                        направление?           вложенными?
___________________________________________________________________

    { }                      Да                    Да
    ( )                      Да                    Да
    [ ]                      Да                    Да
    " "                      Нет                   Нет
    ' '                      Нет                   Нет
___________________________________________________________________


                      Вложенные разделители.

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

     Лучше всего это иллюстрируется на примере:


           согласованная пара      согласованные пары
                  :                  :            :
                  :               ...:...      ...:...
              ....:....           :     :      :     :
              :       :           :     :      :     :
          arr1[arr2[x]]        (  (x > 0)  &&  (y < 0)  )
                   : :         :                        :
                   :.:         :........................:
                    :                       :
            согласованная пара       согласованная пара

    Рисунок 8.1. Поиск пары для квадратных или круглых скобок.


Яндекс цитирования