Прочие консольные редакторы
В числе консольных редакторов, обычно присутствующих в дистрибутивах Linux, можно отметить Joe и Jed
Редактор Joe - многолик. Он способен эмулировать системы команд всех прочих из описанных здесь редакторов - и Vi, и Emacs, и других, о которых я не говорил. Но собственно Joe - это командно-ориентированный, управляемый путем комбинации клавиш ([Control+буква] буква), редактор. Что, как и следовало ожидать, не работает при кириллической раскладке клавиатуры, делая этот редактор малопригодным для работы с объемными русскоязычными документами.
При запуске Joe появляется черный экран, доступный для ввода и редактирования текста. Присутствует также статусная строка, содержащая имя файла, текущие линию и колонку, а также указание для вызова помощи ([Control+k] h); последняя, правда, занимает около трети экрана, но может быть убрана вторичным вводом той же клавишной комбинации.
Редактирование текста основывается на понятии блока и не производит впечатления богатства возможностей. Можно отметить начало и конец блока командами ([Control+b] h) и ([Control+k] k), соответственно, скопировать или переместить его в другое место, а также удалить. Понятия вставки удаленного фрагмента (аналогичного буферу изъятия в emacs) нет.
Интересно, что клавиша Home ведет себя, как в редакторах для DOS, то есть перемещает курсор в начало экранной строки. Подсознательно и от клавиши End ожидаешь "правильного" поведения. Но не тут-то было - вместо этого она вставляет тильду перед позицией курсора. Что крайне раздражает. Хуже этого только необходимость переключаться на латиницу перед выполнением любой rjvfyls. В общем, Joe не показался мне пригодным для использования в мирных целях, по крайней мере в русскоязычной стране.
Текстовый редактор Jed, в отличие от всех описанных ранее - меню-ориентированный, что делает его, казалось бы, более привычным для пользователя, пришедшего из мира DOS/Windows. Во всяком случае, при запуске можно видеть строку меню достаточно стандартного вида - с пунктами File, Edit, Search, Buffers, Windows, System, Help, с выделенными горячими клавишами, активизация которой происходит по нажатии F10, прямо как в Лексиконе.
Однако если Jed был загружен без имени файла, он долго и упорно будет требовать введения такового в командной строке внизу экрана. И на File - Open реагировать не пожелает. Пока не додумаешься выполнить File-Cancel Operation. Только после этого потребный файл можно будет открыть обычным (вернее, привычным) образом.
Дальше - еще интереснее. Ну, то, что ни Home, ни End не работают - ладно, пора уже бы и привыкнуть. Но не работает и delete - удалить введенное можно только клавишей backspace. И меню абсолютно не реагирует на мышь, хотя внутри текста манипуляции мышью осуществляются обычным для Linux-консоли способом.
Как я уже говорил, в меню цветом выделены горячие клавиши, вызывающие соответствующие действия при его активизации. Однако - только при латинской раскладке клавиатуры, что полностью обесценивает эту полезную опцию.
К достоинствам Jed можно отнести возможность работы с несколькими файлами. Что реализуется через новые буферы, аналогично тому, как это сделано в emacs. Можно также работать с двумя (как будто бы, не больше) окнами. В которых может быть открыт один и тот же файл, или разные.
Предусмотрены также различные режимы (кроме основного, текстового) для поддержки различных языков программирования (C, TeX, Forttan и другие; HTML, к сожалению, среди них нет). Однако это не делает Jed более пригодным для решения поставленной перед нами задачи.
Более практичным представляется редактор Pico, входящий в состав широко используемой в Linux почтовой системы pine. Он очень компактен, что позволяет использовать его на слабых машинах. Редактор - командно-ориентированный, все манипуляции в нем осуществляются посредством комбинации Control+буква. Что работает и при кириллической раскладке клавиатуры. Основные клавишные комбинации постоянно присуствуют в нижней части экрана, не требуя чрезмерного напряжения памяти.
Этот редактор не позволяет работать с несколькими файлами или окнами в одной консоли; однако возможна вставка любого числа текстовых файлов с диска в текущий файл.
А так возможности редактирования довольно убоги: можно удалить ([Contol+k], то есть Cut - в том же значении, что и в Windows) строку текста, на которой находится курсор, а затем вставить ее куда либо еще - переместив курсор на новую строку и выполнив команду [Contol+u], то есть UnCut. Есть еще функции поиска, проверки орфографии, а также своеобразно понимаемая опция Justify - вписывание строк, выходящих за границы экрана, в его пределы.
В целом pico, конечно, не очень подходит для работы с объемными текстами. Однако, как мне представляется, почти идеален для правки конфигурационных файлов. Поскольку интуитивно более понятен, чем vi, и много проще в использовании. По крайней мере, для бывших пользователей DOS/Windows.
Хотя еще более привычным для них, вероятно, покажется текстовый редактор, встроенный в файловый менеджер Midnight Commander (о котором шла речь в предыдущей саге). Это, пожалуй, наиболее близкое и родное Linux-создание для старого пользователя DOS. Поскольку напоминает видом редактор из советского народного Командира Нортона, и почти таков же нравом.
Вызывается mcedit, как и редактор NC, по клавише F4, зафиксированной на текстовом файле (можно, конечно, и на любом другом, вопрос только, что вы увидите). Но его можно запустить и автономно, просто набрав mcedit в командной строке: в этом случае открывается пустой файл.
Все в mcedit радует глаз: и привычный синий фон с нерезко белыми буквами, и статусная строка в верхней части экрана, и линейка нумерованных (по функциональным клавишам) операций - внизу. Привычно работают клавиши Home и End, Delete и Backspace; и щелчок мышью в тексте приводит к перемещению курсора в эту позицию. Правда, в отместку за это не работает вставка выделенного фрагмента по щелчку средней клавиши.
Как и в редакторе из Norton Commander, по умолчанию отключен перенос слов на краю экрана; его можно включить - динамически (то есть по ширине экрана) или на фиксированном числе знаков.
Назначение функциональных клавиш также более или менее совпадает. Хотя в MC есть специфика, касающаяся копирования, перемещения и удаления; так, последнюю операцию можно выполнить только через F8, но не через delete.
Выделение текстовых фрагментов - самое разнообразное, и по клавише F3, и мышью, и клавишами управления курсором при нажатом Shift. Правда, не лучшим образом осуществляется копирование и перемещение: если предназначенный для этого фрагмент выделен мышью, курсор в новую позицию можно переместить только стрелками, иначе выделение пропадет. Но зато - есть выделение прямоугольных столбцов.
Приятна также полная русификация программы. И все сочетания управляющих и буквенных клавиш работают как при латинской, так и кириллической раскладке клавиатуры.
В отличие от прототипа, ограничение на размер открываемого файла (16 Мбайт) можно считать отсутствующим. Имеется подсветка синтаксиса, по крайней мере для языка HTML, хотя цветовая гамма и ограничена.
Конечно, в mcedit маловато настроек внешнего вида, нет и встроенной проверки орфографии (что, впрочем, при наличие русского ispell, неудобств не доставляет). Но в целом это инструмент, в равной степени пригодный для использования в качестве системного редактора и для набора длинных содержательных текстов.
В заключение добавлю, что для mcedit имеется переведенная на русский язык документация, а на сайте http://linux-ve.chat.ru/ можно найти прекрасное описание его возможностей.
В прошлом разделе, заговорив о Xemacs, мы плавно перекинули мостик от консольных редакторов к редакторам, работающим в графическом режиме. А так как мы договорились, что первой нашей графической средой будет KDE, логично рассмотреть