Библиотека сайта rus-linux.net
О текстовых редакторах под XWindow
Вступление
После разговора о консольных редакторах, резонно обратиться к теме редакторов графического режима. То есть функционирующим под XWindow. Потому что как ни комфортно набирать вновь сочиненные мысли в текстовом режиме, для их, мыслей, дальнейшего редактирования все же удобнее пользоваться режимом графическим. С его привычными, по крайней мере пользователю DOS-Windows, атрибутами, типа вырезания и вставки мышью. Да и позиционирование ее в XWindow привычней, чем в консоли. Да и вообще, надоедает все время смотреть на черный экран, хочется разнообразия. Чем же в этом плане может порадовать нас Linux?
Количество текстовых редакторов под XWindow велико. Создается впечатление, что оно если и не превосходит количество всех остальных Linux-приложений, то по крайней мере сопоставимо с ними. И не только изучить их все, но и хотя бы познакомиться - задача непосильная. К тому же практически все консольные редакторы имеют свои графические реинкарнации, более или менее отличные от прототипов. Поэтому в настоящей заметке я остановлюсь только на нескольких редакторах общего назначения и паре более специализированных инструментов.
К первым я отнес бы вариации на тему EMACS (запускаемом в режиме эмуляции терминала) и XEmacs, стандартный Xedit и Kedit из комплекта KDE. Ко вторым - Kwrite и FTE. В соответствие с методикой первой заметки, впечатления о каждом из них излагаются непосредственно его собственными средствами.
EMACS и XEmacs
Консольный редактор EMACS, запущенный в режиме эмуляции терминала (то есть без всяких параметров в командной строке) - это не совсем то же самое, что он же в режиме консольном. Правда, его можно запустить в окне терминала и в первозданном виде - командой
emacs -nw
(что, очевидно, означает "без окон"); только не очень понятно, зачем это нужно - тогда уж лучше просто работать в консоли.
Потому что EMACS в терминальном окне предосталяет многие дополнительные возможности по сравнению с чисто консольным вариантом. Для начала, в нем волшебным образом появляется строка меню, избавляющая от необходимости запоминания немерянного количества клавишных комбинаций (что само по себе не смертельно, но требует постоянной практики). Кроме того, курсор начинает вести себя обычным (для DOS-мигранта) способом, то есть может позиционироваться мышью. Ну еще несколько приятных особенностей.
И так, первое, что бросается в глаза при запуске EMACS в окне терминала - это строка меню (рис. 1). Организованное не вполне стандартным, но по своему логичным образом.
Рис. 1. Редактор EMACS под XWindow в режиме эмуляции терминала
Первым пунктом идет Buffers - основополагающее понятиен для EMACS. Здесь можно, во первых, переключаться между открытыми буферами, во вторых - вывести список буферов. В пункте Files, как это ни странно, помимо открытия, сохранения и вставки файла, также присутствуют операции с буферами: обращение буфера, истребление его, а также с фреймами, что соответствует понятию окна в большинстве иных приложений.
В пункте Tools - масса всякой всячины, от печати и сравнения файлов и буферов до чтения новостей, получения и отправки почты, поиск файлов, компилирование и отладка программ. В пункте Edit - обычный набор инструментов для редактирования (вырезание, копирование и вставка, а также отмена). З десь же - всякого рода форматирование, именуемой свойствами текста - от шрифтоначертания и выравнивания до отступов и установок цвета фона и текста. Однако возможности изменить гарнитуру шрифта я не обнаружил. В пункте Search - разнообразный поиск, а также работа с закладками (Bookmark).
Все, что не вошло в перечисленные пункты, собрано в пункте Mule (не от мула ли?). Для начала - установка языка. Можно выбрать все что угодно - от английского (видимо, полагаемого коренным американским) и любого европейского языка до тибетского и эфиопского. Как ни странно, присутствует даже русский, причем сразу в четырех своих ипостасях - ISO, Alt, KOI-8R и (да простят меня мои незалежные братья по этносу) KOI-8U. Далее - установка шрифтовых наборов. С этим я, правда, не очень разобрался - все доступные варианты, кроме принятого по умолчанию, приводили к исчезновению русских букв. Также не вполне ясными показались мне и остальные опции этого пункта. Впрочем, детально с ними и не разбирался.
В общем, через окно терминала наглядно можно видеть величие системы EMACS, в которой, теоретически, заложены все мыслимые и немыслимые возможности. Которые в чисто консольном варианте замаскированы длинными списками команд. Однако, не смотря на изобилие возможностей, и для непосредственной задачи, то есть ввода текстов, EMACS вполне пригоден.
Чего, к сожалению, не могу сказать о его собственно графической модификации - XEmacs. Поскольку, кроме внешнего вида окна с пиктограммами (рис. 2), никаких впечатлений о нем получить не удалось: программа с регулярностью, достойной лучшего применения, слетала после ввода нескольких слов. В чем дело, я так и не разобрался; возможно, это особенность моей системы.
Рис. 2. XEmacs - собственно графическая модификация
Не удавалось также переключаться на латиницу - при любых клавиатурных переключателях сохранялась кириллическая раскладка (причем скорее ДОСовская, чем Виндовая). Потеряв терпение, я прекратил дальнейшие упражнения.
Xeditor
Этот редактор - прост, как грабли (или реклама в бозе почившей фирмы Сэлдом). Белый экран с тремя пунктами меню в верхней части (Quit, Save, Load). Ниже - рабочее поле с миниатюрными, совершенно непосильными для моего зрения буквами (рис. 3). Полная невозможность настроить чего бы то ни было - размер и гарнитуру шрифта, не говоря уже о шрифтоначертании или цвете фона.
Рис. 3. Xedit - примитивный текстовый редактор графического режима
Открытие файла сделано далеко не блестяще - нужно набрать путь либо в командной строке, либо после еле заметной галочки вслед за пунктом меню Load. В общем, к практическому использованию Xedit показался мне непригодным. По крайней мере, для целей, декларированных в предыдущей заметке.
Kedit
Не смотря на явную аналогию в названии с предыдущим, этот редактор отличается от Xedit, как божий дар от яичницы. Представляя собой закаленное и отточенное орудие для набора текстов. И особенно - для их придумывания. Поскольку Kedit (рис. 4) имеет все необходимое для набора текстов и их простейшего редактирования: выделение, копирование, вставка, поиск и замена. И - ничего лишнего для их форматирования. А также имеет все необходимые настройки.
Рис. 4. Текстовый редактор Kedit
Все манипуляции осуществляются посредством строки меню и инструментальной панели. В последней - кнопки для файловых операций (создание, открытие, запись), редактирования (копирование, вставка, вырезание), печати и почты. Панель не настраиваемая.
Пунктов меню - три (не считая help'а): Файл, Редактирование, Настройка. В первом - создание и открытие (в том числе из списка недавних) файла, его сохранение (и под другим именем тоже) и закрытие. Можно открыть файл из удаленного источника и сохранить в таковом. Здесь же - печать, отправка и прием почты, выход. А также - создание нового окна: Kedit - редактор однооконный, для каждого нового документа требуется запустить его отдельную копию.
В пункте Редактирование - копирование, вставка (которая возможна и стандартным способом, средней клавишей мыши) и вырезание, выделение (всего), вставка даты. Здесь же - поиск, замена, проверка правописания, переход на строку.
Настройки - достаточно богаты для такого простого на вид продукта. Можно настроить гарнитуру шрифта и его начертание, кегль и, при необходимости, кодировку (рис. 5). Поддаются переопределению цвет шрифта и фона (можно выбрать их стандартной палитры или назначить собственный), параметры Spellchecker'а (выбор словаря и кодировки, по умолчанию используется стандартные для ispell), граница (в знаках) для переноса слов и т.д. Для сохранения установок в следующем сеансе их следует запомнить.
Рис. 5. Настройка шрифтов в Kedit
В общем, инструмент более чем пригодный для набора текстов. Чем я и пользуюсь регулярно.
Kwrite
Редактор Kwrite вызывает аналогии с приснопамятным по временам 3.1 Write. Однако функционально он отличен от редакторов общего назначения типа Kedit, обнаруживая больше сходства с тами редакторами, как. Поскольку предназначен для написания не столько текстов просто, сколько текстов исходных.
С точки зрения интерфейса Kwrite подобен Kedit, имея строку меню и панель кнопок (рис. 6). Пункты меню почти те же, плюс Закладки.
Рис. 6. Текстовый редактор Kwrite
В пункте Файл - создание, открытие (в том числе Open Recent) и сохранение (в том числе Save as), печать, Новое окно (открытие пустого окна) и Новый вид (открытие второй копии того же документа): как и Kedit, Kwrite не является многооконным редактором в полном смысле слова. Кроме того, есть вставка существующего файла в текущий. Ну и выход, конечно.
В пункте Редактирование - стандартные Вырезать, Копировать, Вставить, а также Undo и Redo (отсутствующие в Kedit), поиск, замена, переход на строку. Кроме того, здесь есть ввод отступа строки и и его отмена, и всякого рода выделение (всего, отмена и обращение выделения).
Добавленный против Kedit пункт Закладки содержит три очевидные подпункта - установка, добавление и уничтожение закладок.
А вот настройки в Kwrite существенно отличаются от таковых в Kedit. Перво-наперво, в нем можно установить раскраску синтаксиса какого-либо языка - C, C++, Java, HTML и т.д. Далее, в подпункте По умолчанию устанавливаются гарнитура, размер, кодировка и цвет шрифта, как для нормального текста, так и для различных типов данных. Затем - Раскраска, где настраиваются цвета для языковых конструкций. Так, если ранее была выбрана раскраска HTML, здесь можно определить цвета не только для текста, но и для тэгов, атрибутов и их значений (рис. 7), в результате чего html-код может принять сколь угодно пестрый вид (рис. 8).
Рис. 7. Настройка раскраски синтаксиса...
Рис. 8. ...и полученный результат
Подпункт собственно Настройки (рис. 9) - это возможность установить ограничение длины строки (при включении переноса по словам), величину табуляции, уровни отмены, всякого рода отступы, а также параметры выделения (в том числе множественно и вертикальное выделение, иногда - очень полезная возможность).
Рис. 9. Настройки параметров редактора Kwrite
Еще одна очень интересная возможность - изменение символа конца строки: помимо свойственного Unix LF, можно установить DOS'овский CR-LF или Mac'овский (какой он, честно говоря, не знаю).
Также в пункте настройки можно определить горячие клавиши для большого количества команд - перемещения курсора, файловых операций, редактирования, выделения, поиска, замены и перехода. Назначение прочих подпунктов - понятно без комментариев.
Панель кнопок предназначена для производства стандартных операций с файлами, редактирования, отмены и возврата.
Из обзора возможностей Kwrite и его настроек видно, что это типичный редактор для программиста. Что подчеркивается, скажем, отсутствием проверки орфографии. Однако и для набора длинных связанных текстов он вполне пригоден. А орфографию можно всегда проверить и в любой внешней программе, просто в ispell, скажем.
FTE
Это - текстовый редактор, совмещенный с чем-то вроде файлового навигатора. При запуске его (рис. 10) появляется дерево каталогов. Перемещаться по нему довольно удобно, но никаких средств управления файлами (вроде копирования, удаления, перемещения и прочего) не нет. Двойной щелчок на имени файла (или выбор пункта Open из меню по нажатию правой клавиши мыши) вызывает собственно текстовый редактор (рис. 10).
Рис. 10. Файловый навигатор из FTE
Рис. 11. Текстовый редактор FTE
Возможности его - оказались довольно богатыми. Пункт File, в соответствие со своим названием, содержал всякие файловые манипуляции: открытие, сохранение, печать и прочее; в том числе - открытие файла в определенном режиме - текстовом или соответствующем различным языкам программирования, в числе коих обнаружился и HTML; впрочем, выбор режима автоматически (и правильно) происходит при открытии файла; так, при открытии html-файла включается цветовая подсветка тэгов.
В пункте Edit, помимо Undo и Redo (кстати, многоуровневых), содержались операции с текстовыми фрагментами - копирование, вырезание вставка различного вида. А маркировка этих фрагментов - в пункте Block; помимо обычного выделения линий и абзацев, можно выделить вертикальные колонки. Здесь - же установка автоотступов, конвертирование регистров, сортировка и прочее.
Из прочих, весьма многочисленных, пунктов меню привлекли внимание Options: здесь можно запретить или разрешить перенос слов, установить левую и правую границы, величину табуляции, а также изменить режим просмотра документа.
В общем, конечно, fte - это, конечно, редактор для программиста. Однако и просто для набора текстов он вполне пригоден. А подсветка синтаксиса HTML позволяет применять его для предварительной разметки web-страниц.
Комментарий Павла Пиминова:
Я есть пользователь xfte и хочу отметить некоторые неточности.
- Файлами можно управлять (копировать, удалять и проч.) -- нажать F9 и набрать соответствующию команду. Правда не так удобно как в shell.
- Можно дополнить стандартное меню в конфигурационных файлах своими командами (в том числе и управления файлами перекомпилировать (cfte) их.
- Это не только редактор для программистов. xfte различает файлы latex, что очень удобно. И можно дополнить своими форматами.
Заключение
Разумеется, приведенным описанием не исчерпывается список текстовых редакторов графического режима. Как уже говорилось, имя им - легион. Однако из беглого знакомства с такими известными программами, как Cooledit или Nedit, создается впечатление (возможно, ошибочное, не буду настаивать), что в основном это все же специализированные инструменты для составления исходных текстов, а не редакторы общего назначения. Поэтому они и остались за пределами данного обзора. Ну и, конечно, потому, что нельзя объять необъятное, повторю еще раз вслед за Козьмой Прутковым.
А вот редакторов общего назначения мне больше не встретилось. Если кто таковые знает - сообщите, пожалуйста, буду признателен.
Алексей Федорчук
Писано на Поселке 19 марта 2000 г.
Copyleft by
Alex Fedorchuk