Алексей Федорчук
Перепробовав на заре своего приобщения к Linux’у множество редакторов, до сего времени наиболее подходящим для себя я считал Geany, о котором писал и раньше, и совсем недавно. В какой-то мере с ним мог тягаться только Kate (его я применял в KDE’шные свои времена), хотя со временем разрыв в функциональности между ними становится всё больше, и не в пользу последнего. Прочие же редакторы, в том числе Vim и Emacs, которые, в зависимости от сексуальной ориентации личных предпочтений записные линуксоиды рекомендуют всем начинающим без разбора, я полагаю не самыми лучшими инструментами для сочинения, например, длинных нарративных текстов.
Так продолжалось буквально до вчерашнего дня, когда я по наводке Brego (за что ему отдельное катта рахмат) открыл для себя Komodo Editor. То есть знать-то я о нём знал давно (и даже, как потом выяснилось, когда-то пытался ставить), но полагал его IDE с не очень понятным, чуть ли не коммерческим, статусом. Однако из специальной статьи на эту тему всё стало ясно, что это две большие разницы:
- Komodo IDE, действительно полноценная интегрированная среда разработки, действительно коммерческая, стоимостью под сотню баксов (для осознания того, за что они платятся, доступна трёхнедельная Trial’ная версия — тем не менее, речи о нём здесь не будет), и
- Komodo Editor, облегчённый вариант первой, представляющий собой развитый текстовый редактор с поддержкой управления проектами, протоколированием макросов и прочими фичами, сопоставимыми с таковыми в Geany; он распространяется на условиях Mozilla Public License, то есть являет собой свободный Open Source в чиcтом виде.
Общее между этими программами то, что они разрабатываются одними и теми же людьми — сотрудниками фирмы Active State, Komode IDE полностью, Komode Editor — при участии сообщества.
Описание на сайте Brego заинтересовало меня, и я решил поглядеть, какой он такой северный олень редактор. Хотя и не очень представлял, что в нём может быть такого, чего нет в Geany с его воробушками плагинами. И, забегая вперёд, скажу, что этому редактору удалось меня удивить (в хорошем смысле).
Для установки Komodo Editor (далее KE) предлагается скачать его в виде архива бинарников с сайта фирмы (текущая на данный момент версия — 8.5.4), развернуть архив и запустить установочный скрипт. Этот рецепт подходит для произвольного дистрибутива.
Однако дистрибутивах из кланов Ubuntu и Mint’а можно поступить проще и правильней. За последний год общения с ними я привык к тому, что первым делом в таких случаях надо зайти на Launchpad.net, где и поискать требуемый пакет. Действительно, таковой нашёлся, так что я подключил его репозиторий:
$=> sudo add-apt-repository ppa:mystic-mirage/komodo-edit
Выполнил обновление локального кеша:
$=> sudo apt update
И проверил доступность пакета и его точное имя:
$=> apt search komodo [alv] i komodo-edit - Komodo Edit is a free, open source editor p komodo-edit:i386 - Komodo Edit is a free, open source editor
После чего оставалось только этот пакет установить:
$=> sudo apt install komodo-edit
Теперь запустить редактор можно было прямой командой komodo-edit
из CLI или минитерминала /usr/bin/komodo-edit
. Ну и, конечно, из главного меню — Программирование -> Komodo Edit. Правда, у меня этот пункт в меню Cinnamon’а только после перезапуска сеанса.
Так или иначе, но после первого запуска сначала появляется панель быстрого запуска, почти загораживающая всё остальное:
А после её закрытия (её можно удалить со старта раз и навсегда, вызывая по необходимости) KE предстаёт примерно в следующем обличье:
Разумеется, в таком виде KE не может внушить ничего, кроме ужаса от мысли, что в этом надо ещё и работать… Тут я вспомнил, что когда-то таки ставил KE, но сломался на его стартовом виде и удалил. Ныне же Brego описал первоочередные шаги по приведению его в человеческий вид, и повторять его слова я не буду. А остановлюсь на тех моментах, которые представляли для меня самый большой интерес.
Первое — русификация интерфейса KE. Из комментария к статье можно узнать, что таковая имеет место быть благодаря усилиям laborpago (за что и ему спасибо большое), и находится она на его гуглоблоге. Пакет русификации собран в виде расширения для KE — файла вида localru-*-ko.xpi
. Скачать его можно с соответствующей страницы блога — нужно только проследить, чтобы версия пакета соответствовала версии KE, ибо они жестко привязаны друг к другу.
Установка русификатора выполняется через меню KE: Tools -> Add-ons, что вызывает такую панель:
Слева от поля для поискового запроса можно видеть кнопку весьма бледного вида, которая вызывает каскадное меню — в нём нужно выбрать пункт Установить дополнение из файла:
А по выборе нужного файла в следующей панели нажимается кнопка Install Now:
После чего остаётся только перезагрузить KE. Кстати, эта заметка сочинялась KE после его русификации, и потому на всех скриншотах можно видеть русские буковки в интерфейсе (не раз-русифицировать же KE обратно, как сказал Жорж Милославский).
Затем я перешёл к следующему вопросу, живо меня интересующему — управлению проектами. И здесь я был приятно удивлён в первый раз. Во-первых, управление проектами в KE есть. Во-вторых, проект создаётся не просто, а очень просто (то есть проще, чем в Geany). Например, это можно сделать через меню Проект -> Новый проект, задав имя проекта и рабочий каталог для него:
Столь же легко создаются и все последующие проекты, сколько их потребуется. При этом задаётся вопрос, закрывать ли файлы текущего проекта? И, в отличие от Geany, вопрос этот не риторический, на него вполне можно ответить отрицательно, и новый проект будет создан при сохранении предыдущего в открытом состоянии:
В левой боковой панели легко выводится файловая иерархия внутри каталога текущего проекта (по умолчанию — до 10 уровней вложенности, при необходимости можно увеличить). Здесь же не менее легко открывается подпанель со списком созданных проектов, через которую легко переключаться между ними. При этом, как и при создании нового проекта, файлы предыдущего проекта можно сохранить в открытом состоянии, параллельно с файлами проекта следующего. И переключаться между ними через вкладки главного окна, предназначенного для редактирования текста.
Возможность параллельной работы с файлами из разных проектов — та самая функция, которой мне так не хватало в Geany, ибо я посмтоянно работаю с несколькими самостоятельными, но тесно связанными проектов, между которыми необходим обмен данными. И KE мне такую возможность предоставил.
Второе приятное удивление было связано с макросами. Для применителя-текстовика, работающегов разных жанрах, очень важно иметь возможность расширить базовую функциональность редактора в соответствие со своими задачами, причём сделать это простым и понятным способом, ибо большинство из нас в программировании не силён. В Geany имеется удобный режим протоколирования макросов с возможностью их последующего редактирования. А если ли что-нибудь подобное в KE?
Оказалось, что в KE прибегать к сочинению собственных макросов поводов не много. Ибо он штатно снабжён их набором, вполне достаточным, например, для простой разметки html-документов, как в существующем виде, так и после минимального редактирования. Впрочем, и режим протоколирования действий для помещения их в макросы также имеется, как и возможность последующего редактирования.
Почти нет ограничений для привязки к макросам горячих клавиш — при нахождении в окне KE им перехватывается большинство общесистмных клавиатурных комбинаций. Так что не надо, как в Geany, напрягать свою фантазию для изобретения хоткеев, с одной стороны, мнемонически прозрачных, с другой — не задействованных для нужд текущего десктопа или оконного менеджера.
В общем, работа и с проектами, и с макросами в KE заслуживает высшей оценки. Повторяю, уж казалось бы, в Geany и то, и другое реализовано хорошо, насколько возможно. Однако в KE — ещё лучше.
Окончательно же меня добило (опяять-таки в хорошем смысле) множество мелких, но полезных (а иногда просто незаменимых) фич. Например, штатно я не обнаружил статистики документов. Однако среди макросов нашёлся один, подсчитывающий количество слов с помощью утилиты wc
. Правкой буквально одного символа можно заставить его считать число символов в документе или объём его файла в байтах.
Имеются разные режимы выделения текста — всего, последовательными фрагментами, блоками, между парными скобками. И режим множественного выделения, когда выделяются не последовательные фрагменты, а куски из произвольных мест документа. Которые потом можно скопировать и вставить в другой документ — возможность, незаменимая для тех, кому часто приходится составлять компиляцию из разных материалов. И возможность эта если и не уникальна, то встречается не часто. Мне так, например, раньше не встречалась никогда и нигде.
Функции поиска и замены работают как для отдельных файлов и их выделенных фрагментов, так и для каталогов, а также целых проектов. Кроме того, имеется последовательный наращиваемый поиск, как в браузерах. Результаты поиска, в том числе и последовательного, по умолчанию подсвечиваются в течении заданного в настройках времени, которое может быть изменено в любую сторону. Не запрещается и вообще отключить режим подсветки при поиске.
Вообще настройки KE трудно охватить взглядом, а уж изучить их и того паче. Благо, большинство непонятных опций ведёт себя вполне прилично при умолчальных установках, мне пришлось повозиться только с автоматическим закрытием скобок, а закрытие кавычек пока так и не осилил.
Особо стоит сказать о настройке клавиатурных комбинаций для штатных действий KE (не макросов). Тут простор для фантазии ограничивается только объёмом памяти — не компьютерной, а собственной, сколько хоткеев она в состоянии запомнить: как известно, слишком хорошо — это тоже не хорошо. Но одной из возможностей этого круга я воспользовался немедленно.
Наверное, я далеко не единственный, у кого при быстром лабании по клавишам (а лабать медленно я не умею) часты перестановки соседних символов. В Kate для исправления этого (то есть для транспонирования соседних буковок) существует штатная комбинация — Control+T. Это была та фича, по которой я проливал горючие слёзы, работая в Geany — там возможности траспонирования не имеется. А вот в KE она обнаружилась — и я немедленно присвоил ей ту же последовательность, что и в Kate.
В общем, выполнив некоторые настройки (далеко не все возможные), я привёл KE вот к такому виду:
В окне редактирования текста в данный момент сочиняется данная заметка. Параллельно с ней открыто несколько файлов из другого проекта. В левом сайдбаре — содержание каталога текущего проекта, ниже — подпанель проектов со списком открытых (текущий выделен полужирным начертанием).
В правом сайдбаре — список макросов, как шедших в комплекте (секция Samples), так и начало моей коллекции (секция Alv Macros). Сайдбар этот выведен, потому что я сочиняю или редактирую макросы в ходе работы над заметкой, по мере того, как ощущаю в них потребность.
Внизу — окно сообщений, в настоящий момент в нём выведен результат подсчёта символов в текущем документе. Оно приведено тут чисто для демонстрации, в обычном рабочем режиме это окно у меня закрыто. Правый сайдбар я тоже уберу с глаз долой, как только закончу коллекционирование макросов.
Наговорив столько о достоинствах KE, было бы несправедливо не отметить и недостатки. По большому счёту таковых для меня обнаружилось пока два. Первый — отсутствие встроенного терминала, к которому я привык и в Kate, и в Geany. Впрочем, поскольку я всегда устанавливаю терминал выпадающий, конкретно Guake, оказалось, что с этим вполне можно примириться: его всегда можно вызвать горячей клавишей (по умолчанию F12), и при этом не требуется переключения раскладок. Ведь сочиняю в редакторе я в основном по русски, а в терминале обычнотребуется латиница.
Хуже другое. В KE имеется спеллинг, и весьма развитый, с возможностью подключения и пополнения пользовательского словаря. Но только — для англоязычных текстов, никакого намёка на русский язык не обнаруживается:
И простой возможности подключить русский словарь я пока не обнаружил. Однако, поскольку в KE реализован тот же механизм подключения дополнений, что и в Firefox’е, надежды найти решение этой проблемы не теряю. Когда (и если) это случится, я назначу KE своим любимым редактором. А пока займусь дальнейшим изучением его возможностей — не всех, конечно, а лишь тех, что смогу использовать в мирных целях.
Update. Едва я успел пожаловаться на отсутствие русского спеллинга, как проблема эта решилась почти сама собой, о чём — в соответствующей заметке.
Выглядит интересно, поставил, надеюсь опробовать в деле в ближайшее время.
Небольшое добавление, если позволите — на данный момент в указанном репозитарии есть пакет komodo-edit-ru, который содержит перевод интерфейса на русский из коробки.
Спасибо, не заметил. Брал с сайта автора пакета русификации.
Сейчас глянул — действительно, есть…
Насчет автозакрытия кавычек по ходу жизни набрёл на мактрос «Brace Wrap Selection», описал его здесь: mintmem.com/page/komodo-edit_0#ke560
Мерси,мне этого реально не хватало
Слишком наворочено, не?
Концепция KKEdit мне нравится больше: хочешь доп. функционал?- пиши сам, как тебе нужно.. на bash!