![]() |
![]() |
|
Жемчужина 3. Инструменты разработки: интуитивно понятный mcedit и первое вхождение в Perl

Запуск
Из mc:
- установите в одной из панелей mc указатель на файл, который вы хотите отредактировать (на рис.1 это файл my3.txt) и нажмите функциональную клавишу F4. mcedit будет запущен, а указанный файл будет загружен в редактор для изменения.

Рис.1. Выбор файла в mc для редактирования
- нажмите сочетание клавиш Shift+F4. На экран будет выведено пустое окно mcedit. Такой способ запуска предназначен для создания нового файла.
Из строки приглашения консоли:
- наберите в строке приглашения консоли mcedit. На экран будет выведено пустое окно mcedit.
- наберите в строке приглашения консоли mcedit имя_файла. mcedit будет запущен, а указанный файл будет загружен в редактор для изменения
Экран и навигация
После запуска mcedit с открытием файла, он выглядит на экране так, как это показано на Рис.2:

Рис.2.Экран mcedit
- строка состояния (выделена красным прямоугольником сверху)
- интерактивный бар функциональной клавиатуры (выделен красным прямоугольником снизу)
- собственно окно редактирования текста (синее поле между красными прямоугольниками)
Основной способ работы в mcedit — при помощи клавиатуры. Но в правильных системах он хорошо воспринимает и команды мыши. В Альте — воспринимает (а значит Альт — правильная система).
Система меню mcedit
Если нажать клавишу F9 или (альтернатива) щелкнуть мышью по строке состояния, то на экран вместо строки состояния будет выведена строка меню (Рис.3):

Рис.3.Строка меню mcedit
Я не буду отдельно описывать назначение каждого из пунктов меню. Вместо этого я предлагаю нам вместе выполнить практическое упражнение, заключающееся в создании программы на языке Perl. Попутно мы задействуем каждый из пунктов меню и произведем необходимые эксперименты там, где какие-то пункты меню для данной программы будут излишни.
Открытие и сохранение файлов, копирование и вставка фрагментов текста
- Запустите пустой mcedit при помощи команды mcedit. На экран будет выведено пустое окно mcedit. Отлично.
- Сохраните этот, пока безымянный файл. Для этого нажмите функциональную клавишу F2. Сначала вам будет задан вопрос, хотите ли вы сохранить файл, затем на экран будет выведено приглашения для ввода имени файла. Введите имя файла perl_001. Затем щелкните мышью на команде Продолжить, или (альтернатива) перейдите на эту команду нажатием клавиши Tab, и затем нажмите Enter, либо (совсем просто) — просто нажмите Enter. Файл будет сохранен с именем perl_001. Данный факт тут же отобразиться в строке состояния (рис.4):

Рис.4.Отображение имени файла в строке состояния
- Поскольку уж мы коснулись строки состояния, давайте посмотрим, что еще она отображает, и как нам это может помочь в нашей дальнейшей работе. На следующей вправо позиции в квадратных скобках находятся 4 маркера режимов. Нажмите клавишу Insert. Вы переведете редактор из режима вставки в режим замены (Overwrite), что тут же будет отображено в четвертой позиции буквой O (рис.5)
- Наберите в окне mcedit текст, как на рис.5, обратите внимание, что, как только вы начнете набирать текст, включится еще один маркер режима во второй позиции, М (Modyfied). Этот маркер показывает, что текст в окне редактора mcedit был изменен, но не был сохранен.

Рис.5.Маркеры режимов mcedit
- Удерживая нажатой правую клавишу мыши, протяните указатель мыши по набранному тексту. Текст будет выделяться построчно (или посимвольно), а в первой позиции маркеров появится буква B (Block). Если же перед тем, как осуществлять манипуляции мышью, вы нажмете сочетание клавиш Shift+F3, то в первой позиции маркеров появится C (Columns), а выделять можно будет столбцы (как на рисунке рис.5).
- Если вы не любите выделять при помощи мыши, то можно пойти другим путем: нажать клавишу F3 (выделение блока), или сочетание клавиш Shift+F3 (выделение столбца), затем расширить выделение при помощи стрелок на клавиатуре, и (обязательно!) снова нажать клавишу F3, чтобы завершить режим выделения.
- Выделите текст, как это показано на рис.5. Затем переместите текстовый курсор в конец всего текста, и нажмите клавишу F5. В то место, где находится текстовый курсор, будет скопирован выделенный фрагмент. При этом выделение будет снято, то есть повторное нажатие клавиши F5 уже ничего не даст. Чтобы снова что-то скопировать, надо будет снова что-то выделить. Если бы вы вместо клавиши F5 нажали клавишу F6, то выделенный фрагмент был бы вырезан из текущего положения, и вставлен в новое положение.
- Нажмите клавишу F2. Подтвердите свое желание сохранить файл (поскольку один раз имя файлу мы уже давали, второй раз mcedit имя не просит, просит только подтвердить — на самом ли деле мы хотим сохранять, или так, случайно тыкали в клавиши, и попали на F2). После того, как файл будет сохранен, буква M из маркеров режима исчезнет.
- Мы выяснили назначение первой, второй и четвертой позиций группы маркеров режима. Что касается третьей позиции, то ее назначение мне не известно. Эксперты, ау? - кто знает?
- Что представляет собой оставшаяся часть строки состояния? (рис. 6)

Рис.6.Оставшаяся часть строки состояния
3 — номер столбца, в котором находится текстовый курсор (нумерация столбцов начинается с 0)
L: — все, что дальше в квадратных скобках, относится к строке (LINE)
1+ 6 7/10 — отсчет строк начинается с единицы, мы опустились от первой строки на 6 строк вниз, находимся в 7-й строке в файле, состоящим из 10 строк.
* — все, что дальше в круглых скобках, относится к байтам, а остальное — к кодам символов.
(28 / 34b) — текстовый курсор находится на 28 байте из 34 байт в файле
= . 10 0х0A — и этот байт содержит в себе код невидимого символа (точкой в mcedit обозначается невидимый символ перевода строки) с десятичным кодом 10 или шестнадцатиричным кодом 0х0A.
Получилось немного длинно, зато, надеюсь, исчерпывающе. Впрочем, как всегда, жду замечаний от знатоков.
Копирование и вставка через файловый буфер
- Нажмите сочетание клавиш Shift+F2. Задайте для файла новое имя, perl_001a, и сохраните его с этим именем. Установите текстовый курсор в самый конец файла. Нажмите сочетание клавиш Alt+u. На экран будет выведен диалог (см. рис.7), позволяющий вставить в тело редактируемого файла вывод любой команды linux, которую можно запустить из строки приглашения, и которая выводит результат своей работы на консоль.

Рис.7.Вставка вывода внешней команды
- Введите в строку ввода команду ls, вывод которой представляет собой листинг файлов в текущем каталоге, и нажмите Enter. Листинг файлов в текущем каталоге будет вставлен в позицию курсора. Супер! Нажмите F2, сохраните этот файл.
- Не закрывайте mcedit. Запустите еще один экземпляр консоли, и в нем еще один экземпляр mcedit. Откройте в этом новом экземпляре наш «старый» файл perl_001. У нас теперь есть два файла, в одном есть вывод команды ls, в другом этого текста нет. Выделите несколько строк вывода команды ls в файле perl_001a, и нажмите сочетание клавиш Ctrl+f. На экран будет выведен диалог копирования в файл со стандартным названием и местоположением файла-буфера (рис.8):

Рис.8.Диалог копирования файала
Perl, как и было обещано
До сих пор мы манипулировали простым текстом. И это все несмотря на гордое название файла perl_001. Что ж, перейдем непосредственно к языку Perl, вступим в боевое соприкосновение, в активный контакт.
- Для начала, используя клавишу F8, удалите все содержимое файла perl_001. Далее в меню (F9) Настройка>Highlight Options... (че б не перевести-то было - «Настройка подсветки»?) установите все три флажка. Затем в меню Настройка>Цветовыделение синтаксиса выберите Perl Program. Наконец, в этом же меню выберите Перезагрузить текущее цветовыделение. А теперь выполните Настройка>Сохранить настройки. Тем самым мы обеспечили себе красивую жизнь: теперь ключевые слова и конструкции языка Perl будут подсвечиваться разными цветами на экране mcedit.
- Наберите в mcedit две строки, как это показано на рисунке Рис.9:

Рис.9.Первая программа на Perl
- Для надежности, вот эти две строки:
- Как видите, синтаксис подсвечивается, и, если вы до сих пор с Perl никогда не сталкивались, то все достаточно непонятно, несмотря на то, что слова-то знакомые. Но - while что? А затем - print что? Однако, пока что мы понятности не добиваемся. Я просто сообщаю, что это программа, которая работает, и мы в этом скоро убедимся. Сохраните файл (F2).
- Нажмите F11. На экран будет выведен диалог пользовательского меню. Выберите из него команду Invoke `shell`. Вы перейдете в режим приглашения командной строки. В приглашении командной строки наберите команду perl perl_001. Эта команда вызовет интерпретатор perl и загрузит в него для исполнения наш файл perl_001. После запуска программы она перейдет в режим ожидания ввода строки. Наберите в строке приглашения свое имя и нажмите Enter. Затем еще чего-нибудь понабирайте и понажимайте. Как видите, непонятная с виду программа на самом деле принимает от вас ввод строки с консоли, а затем повторяет его в качестве вывода на консоль. Хорошо. Нажмите Ctrl+C для остановки вашей программы. Затем в строке приглашения наберите exit и нажмите Enter. Вы снова оказались в редакторе mcedit. Вот так, mcedit не только синтаксис подсвечивает, но и дает возможность, не прерывая сессии, испытать только что созданную программу на языке Perl. Браво!
#!/usr/bin/perl
while(<>){print};
Мы изучили почти все команды меню mcedit, по крайней мере, наиболее важные из них. В случае необходимости с остальными вы разберетесь сами. Мы написали первую программу на языке Perl, запустили ее и убедились, что таки да, это работает! Как всегда, жду замечаний и предложений от любопытного человечества :)
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Последние комментарии
25 недель 5 дней назад
46 недель 2 дня назад
46 недель 2 дня назад
46 недель 2 дня назад
2 года 17 недель назад
3 года 21 неделя назад
3 года 42 недели назад
3 года 42 недели назад
3 года 42 недели назад
3 года 42 недели назад