О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

19.08.2008

Текстовый редактор le

2002 г

Текстовый редактор le - программа производства нашего соотечественника, Александра Лукьянова. Текущая ее версия - 1.5.8. Конечно, le - не специфический инструмент Free (или какой-либо еще) BSD. Кроме всего прочего, он прекрасно функционирует и под Linux. Однако во FreeBSD редактор этот входит в качестве штатного средства. Его можно обнаружить также на http://bsd.tucows.com в виде бинарного пакета, скомпилированного для текущей стабильной версии FreeBSD.

Запуск le (одноименной командой) в первый раз вызывает стандартное сообщение о свободном характере программы, отсутствии всяческих гарантий и прочего. С одновременным предложением ввести имя загружаемого файла. Буде задать имя файла отсутствущего, об этом сообщат, предложив заодно и создать такой файл. Ну а для открытия существующего файла необходимо указать полный путь к нему, причем дополнение клавишей табуляции не работает.

После этого перед глазами возникает абсолютно пустой синий экран, где можно тут же начинать вводить текст. Правда, что делать с ним дальше, остается неясным, если только клавишей F10 не активизировать меню. Через которое и производятся все действия. Хотя ряд из них сдублирован и клавишными комбинациями.

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

  • File;
  • Block;
  • Search;
  • Move;
  • Format;
  • Others;
  • Options;
  • Help.

Через пункт File доступны следующие действия: открытие (Load, F3) и сохранение (Save, F2) файла, созранение его под другим именем (Save as..., Escape+F2), переключение между открытыми файлами (Escape+F3), каковых может быть сколько угодно много, считывание открытого файла заново (Reopen), получение информации о файле (Info) - размер, число строк, полный путь до файла, владелец и т.д.

В пункте же File имеются такие опции, как построение (Make), запуск (Run) и компиляция (Compile) программы, временный выход в командную среду (Shell) и приостановка работы редактора (Suspend); правда, из этого режима выбраться обратно мне не удалось...

Пункт block посвящен операциями с фрагментами текста. Здесь можно устанвоит начало (F5) и конец (F6) выделяемого фрагмента, который затем может быть скопирован (Copy, F11), перемещен (Move, F12), удален (F4 - D), записан в виде файла (Write, F4 - W). здесь же в текущий файл может быт вставлен и иной документ (read, F4 - R).

Кроме того, над выделенными блоками доступны такие дейсвтия, как установка отступа, смена нижнего регистра на верхний и наоборот, а также конвертация регистров. Однако все это возможно только по отношению к фрагментам, выделенным с клавитауры (клавишами F5 и F6); фрагменты, выделенные мышью, могут быть только споированы (щелчком средней ее клавиши) в текущюю позицию курсора.

На которую, к стати говоря, перемещение мыши никакого влияния не оказывает - она может быть изменена только с помощью клавиатуры - стрелками управления курсором, клавишами Home (перемещение в начало строки), End (перемещение в конец строки), PageUp и PageDown (пролистывание на один экран назад и вперед, соответственно).

В сочетании с клавишей Escape клавиши перемещения курсора оказывают более сложное действие. Так, Escape+Left (+Right) перемещает курсор на одно слово влево (или, соответственно, вправо), Escape+Home (+End) - в начало (конец) документа.

Пункт Search, как нетрудно догадаться, посвящен поиску и замене внутри документа. Поиск возможен вперед (Control+F или F7), назад (Control+B или Escape - Control+F7; при этом внизу экрана появляется строка с предложением ввести искомое выражение. Возможна, естесвтенно, и замена (Control+R), при этом сначала предлагается вввести заменяемое выражение, затем - выражение-заменитель.

Пункт Move - это перемещения по документу: к строке по ее номеру, в начало или конец файла или отмеченного блока, к последнему редактировавшемуся участку и так далее.

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

В пункте Others собраны всякие дополнительные опции, как то:

  • калькулятор (с которым, правда, я так и не научился пока обращаться);
  • рисование таблиц с помощью символов псевдографики;
  • вставка специальных символов из кодовой таблицы в позицию курсора (Character Set); очень полезная возможность, когда нужно вставить коды символов или esc-последовательности;
  • конвертация текстовго файла Unix (использующего LF в качестве символа конца строки) в формат DOS (где таковым выступает LF+CR).

Пункт Options посвящен настройкам редактора, что будет предметом следующего раздела. А пункт Help - это, естественно, помощь, с которой я настоятельно советую ознакомиться. Здесь, в разделе Help on keys (вызываемом традиционным F1) приведены все клавишные комбинации для действий, которые затруднительно было бы отыскать в меню. Так, только из Help'а удается узнать, как отменить неправильное действие - для этого служит комбинация Control+U.

А раздел Help on word по замыслу позволяет, установив курсор на какое-дибо слово, получить по нему некую справку; правда, какое бы слово я ни пробовал, ответ был oдин: No manual entry for "это слово".

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

Кроме того, le позволяет переключаться с латинцы на кириллицу, используя меню Options - Editor или комбинации клавиш Control - A+R, хотя это не очень удобно и срабатывает не всегда. Кроме того, при кириллической раскладке редактор нормально реагирует на нажатие функциональных клавиш. Использование буквенных комбинаций требует дополнительного нажатия клавиши Control: например, F4 - Control+D для удаления блока или символа, F4 - Control+P - для конвертации в верхний регистр, и так далее.