2002 г
Этот редактор назван его автором - Хрисом Смитом (Chris Smith), Lightweight programmer's editor. Что применительно к случаю я перевел бы как Легковесный Редактор для Программистов. Под легковесностью, вероятно, понимается его компактность и нетребовательность. Поскольку возможности его вполне достаточны для несложной работы.
При запуске редактора командой lpe без параметров перед глазами возникает почти пустой экран с предложением нажать Control-E для получения помощи. Что отнюдь не лишне - никакого меню нет и в помине, все действия осуществляются только комбинациями клавишь. Узнать назначение которых, кроме как из Help'а, неоткуда. Хотя нет, имеется еще и info-файл, вызываемый командой
info lpe
и содержащий еще более подробные сведения.
Так что знакомство с редактором я начал бы с того, что ознакомился бы с двумя этими документами. И даже распечатал бы их и повесил на видное место - бо выработки автоматизма в надатии управляющих комбинаций не повредит. Однако по приобретении должных навыков убеждаешьсся, что все рейсвтия по вводу и редактированию текстов в lpe выполняются лекго, просто и быстро. А подсветка синтаксиса делает его применение довольно удобным при несложном редактировании html-страниц.
Так что, дабы не заниматься отсебятиной, я просто прокомментирую содержание info-файла, когда это покажется мне необходимым.
И так, он может быть запущен следующим образом:
lpe [ --help | --version ]
или
lpe [--mode] [ -- ] file
В первом случае выдается справка по использованию lpe или сведения о его версии. Во втором - вызывается соответствующий файл; если таковой не существует - создается пустой документ.
Под модой здесь понимается установка языкового режима, например, htmlmode. Хотя режим автоматически устанавливается для файлов соответствующих типов. По крайней мере, для html-страниц - безошибочно, с включением соответствующей подсветки.
Знак -- не опция, а указание на то, что следующим аргументом будет имя файла. Без всего этого вполне можно обойтись, вызывая редактор просто
lpe имя_файла
Далее следует собственно описание клавигных комбинаций. При этом такие клавиши, как стрелки упраления курсором, Home, End, Backspace, Delete действуют обычным образом, хотя и дублируются некоторыми комбинациями.
Командные клавиши
Ctrl-Q Перемещает курсор в начало строки (альтернатива Home)
Ctrl-W Перемещает курсор в конец строки (альтернатива End)
Ctrl-R Прокрутка на один экран вверх (альтернатива PgUp)
Ctrl-T Прокрутка на один экран вниз (альтернатива PgDn)
Ctrl-O Перемещение к предыдущему слову
Ctrl-P Перемещение к следующему слову
Ctrl-K Истребление текущей линии
Ctrl-Y или Ctrl-U
Вставка уничтоженной (командой Ctrl-K) линии в позицию курсора
Ctrl-S Поиск последовательности символов в файле
Ctrl-A Поиск следующего вхождения
Ctrl-F Ctrl-O
Открытие нового файла с заменой текущего буфера
Ctrl-F Ctrl-S
Запись буфера на диск
Ctrl-F Ctrl-A
Запись буфера под другим именем
Ctrl-F Ctrl-R
Считывание файла и его вставка в позиции курсора
Ctrl-F Ctrl-E
Pretend that a buffer hasn't been modified
Ctrl-B Ctrl-S
Установка режима текущего буфера
Ctrl-B Ctrl-T
Переключение между жесткой и мягкой табуляцией в текущем буфере
Ctrl-B Ctrl-A
Включение/выключение автоматического отступа
Ctrl-G Ctrl-A
Переход к первой линии буфера
Ctrl-G Ctrl-S
Переход к последней линии буфера
Ctrl-G Ctrl-G
Переход к указанной линии буфера
Ctrl-N Ctrl-R
Ввод значения для повторяющейся команды
Ctrl-N Ctrl-T
Многократное повторение команды.
Ctrl-N Ctrl-O
Начало или конец записи макроса
Ctrl-N Ctrl-P
Исполнение последнего записанного макроса
Ctrl-V Ctrl-V
Исполнение всего буфера как команды среды Shell
Ctrl-V Ctrl-A
Ctrl-V Ctrl-S
То же для awk и sed, соответственно
Ctrl-V Ctrl-B
Исполнение нескольких строк как последовательности
команд Shell
Ctrl-V Ctrl-D
Ctrl-V Ctrl-F
Аналогично для awk и sed, соответственно
Ctrl-D Вызов внутреннего отладчика
Ctrl-X Запись буфера на диск и выход
Выход без записи на диск
Ctrl-Z Suspend the editor and escape to a prompt
Ctrl-L Очистка и перерисовка целого экрана
означает клавишу прерывания для вашего терминала.
Обычно это Ctrl-C, но может быть иной в других терминалах.
С другой стороны, Ctrl-Z заменяет нормальную клавишу останова
терминала.
МОДУЛИ
Хотя lpe невелик, он может осуществлять многие сложные действия
в зависимости от режима буфера. Режим буфера зависит от
языка программирования текущего буфера.
Все языковые модули должны находиться в каталоге хранения
модулей. Этот каталог устанавливается как переменная среды
LPE_MOD ULE_PATH в разделенном двоеточиями списке каталогов
(подобно PATH). Если переменная не установлена, lpe просматривает
каталоги на предмет модулей в следующем порядке:
$HOME/.lpe /usr/local/lib/lpe /usr/lib/lpe /etc/lpe
Из рассмотрения содержимого info-файла можно вполне представить себе возможности lpe. Они не очень богаты, но вполне достаточны для несложной работы. А возможность протоколирования макросов и их воспроизведения позволяет такую работу даже автоматизировать.
К сожалению, я не обранужил способа сохранять запротоколированные макросы для последующего использования. И вообще никакой возможности сохранения настроек в редакторе lpe не обнаружилось. Отсутствовал даже какой-либо конфигурационный файлик вроде lperc. Нет также режима автоматического переноса слов, что крайне неудобно при создании нарративных документов.
И потому сфера применеия lpe - крайне ограничена. Так, я использую его для быстрой (и несложной) правки кода html-страниц. Другая область - создание несложных скриптов для командной среды. И, наконец, lpe более чем достаточен для правки конфигурационных файлов.