Книга о Cintu. Часть 2. Применение системы. Глава 10. Текстовый редактор Geany

Книга о Cintu. Часть 2. Применение системы. Глава 10. Текстовый редактор Geany

Эта глава посвящена различным аспектам использования текстового редактора Geany исключительно в мирных, то есть непрограммерских, целях. Ибо в Cintu это основное орудие производства применителя-текстовика.

Вступление

Программа Geany позиционируется как лёгкая IDE (Integrated Development Environment), то есть интегрированная среда разработки программного обеспечения. Однако требования к главному рабочему инструменту применителей-текстовиков (в эту категорию я зачисляю всех сочинителей нарративных текстов, вне зависимости от жанра и ориентации) и разработчиков (то есть сочинителей исходных текстов программ) в значительной мере пересекаются. И потому Geany в нашем случае выступает как очень продвинутый текстовый редактор (так он и будет далее называться для краткости).

В своё время о Geany было довольно подробно написано на Блогосайте. Однако за истекшие годы этот редактор (для краткости буду называть его так) развивался весьма интенсивно, а также обрастал всё большим числом плагинов. И потому наступил психологический момент вернуться к этой теме на новом витке диалектической спирали.

Предлагаемые на следующих страницах материалы не являются последовательным и законченным руководством по применению Geany. Они представляют собой очерки заметки, посвящённые частным приёмам его использования и решению отдельных практических задач.

Фирменные фишки

Безусловной, самой убойной фишкой Geany является изобилие плагинов: именно они превращают хороший, но не выдающийся инструмент для работы с текстами в лучший текстовый редактор всех времён и народов. По крайней мере, времён нынешних, и народов, для которых профессией является сочинение текстов, причём не исходных, а нарративных.

Вторая «общеубойная» фишка Geany — сочетаемость фишек. Каждая из которых по отдельности может быть полезной, но далёкой от «убойности». А вот две-три такие фишки в сочетании дают эффект кумулятивного заряда. Что далее будет проиллюстрировано на примерах.

Плагины

Geany и своём первозданном виде предоставляет в распоряжение применителя-текстовика массу возможностей для работы с текстом. Однако функционал его многократно усугубляется бесчисленными дополнениями — так называемыми плагинами (plugins).

На момент сочинения этих строк число плагинов для Geany превышает сотню. Однако три из них играют особую роль. Это — geany-plugins-common, geany-plugin-addons и geany-plugins. Первый, как можно догадаться по имени, содержит компоненты, общие для всех плагинов, то есть локально-зависимые.

Пакет geany-plugin-addons включает в себя ряд мелких дополнений (addons) к Geany, не удостоившихся самостоятельного пакета. В его составе такие небесполезные Дополнения, как:

  • DocList — кнопка на панели инструментов, вызывающая список открытых документов и предложения их закрытия;
  • OpenURI — если элемент под курсором являет собой URI (например, http-адрес), то в контекстное меню по щелчку правой кнопкой мыши добавляются пункты Открыть URI и Редактировать URI очевидного назначения (адрес открывается в браузере, прописанном в настройках Geany);
  • Systray — помещает пиктограмму Geany в системный трей, по щелчку левой кнопкой мыши на которой главное окно Geany сворачивается или распахивается; щелчок правой кнопкой вызывает контекстное меню с пунктами Открыть, Сохранить все, Параметры и Выход.

Кроме этого, в состав пакета geany-plugin-addons входит ещё несколько плагинов. Как и перечисленные выше, они могут быть включены (или выключены) через главное меню Правка —> Настройка модулей:

Что же до пакета geany-plugins — это на самом деле метапакет, объединяющий в себе в почти все остальные «плагинные» пакеты, устанавливаемые при его инсталляции одним махом. Хотя каждый из них может быть установлен и в индивидуальном порядке.

Установка полного набора плагинов не приводит к их мгновенной активизации — их надо ещё и включить. Делается это очевидным образом через меню Инструменты —> Менеджер модулей:

Как можно видеть, некоторые из плагинов можно не только включить, но и настроить, а также определить для них горячие клавиши.

Встроенный терминал

Одна из особенностей Geany — встроенное терминальное окно, в котором можно вводить любые команды оболочки, вставлять их (а также результаты их выполнения) в «мышиный» или «иксовый» буфер, после чего вставлять их в текст документа, открытого в основном окне. Не запрещена и обратная процедура — перенос команды из текста в терминальное окно с целью проверки правильности её ввода или просмотра вывода. Конечно, в полной мере это способны оценить только линуксописатели, которым постоянно приходится сочинять что-либо, имеющее отношение к CLI. Но такая функция может пригодиться и прочим применителям-текстовикам, не говоря уже о просто программистах или сочинителях документации к программам.

Чтобы иметь доступ к встроенному терминалу, нужно проследить, чтобы в настройках Geany (Правка -> Настройки -> Общее -> Запуск) бы отмечен пункт Загружать виртуальный терминал — впрочем, в Cintu он включён по умолчанию. И в окне сообщений в нижней части окна Geany можно видеть вкладку Терминал, переключение на которую выводит терминальное окно с приглашением командной строки:

Доступ к настройкам терминального окна Geany — через пункт Параметры из контекстного меню по щелчку правой кнопкой мыши в его пределах. Как менять требуемые параметры — понятно без комментариев. А какие менять, и на что менять — дело сугубо интимное. В частности, у нас панель настроек выглядит так:

Здесь пару слов нужно сказать только о пункте Устанавливать путь вслед за текущим файлом. Он активирован по умолчанию, и с переключением между вкладками открытых документов, лежащих в разных каталогах, одновременно происходит смена текущего каталога (то есть выполняется команда cd, что можно видеть, пролистав историю команд в терминале). В большинстве случаев это удобно, но если мешает, и требуется, чтобы в терминальном окне был некий фиксированный текущий каталог, «галочку» с соответствующего бокса можно снять.

Управление файлами

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

Прежде чем заводить речь о средствах управления файлами в Geany, надо сказать пару слов о его боковой панели, посредством которой управление файлами осуществляется. По умолчанию, без подключения каких бы то ни было плагинов, она содержит две вкладки — Символы и Документы.

О первой вкладке речь будет чуть позже, вторая же — это просто список открытых в данный момент файлов. Отображение любой из этих вкладок (и даже обеих сразу) можно отключить через меню — Правка —> Настройка —> Интерфейс.

Высвободившуюся боковую панель (вывод которой, кстати, тоже можно отключить вообще) можно использовать как раз для управления файлами. Средством для чего в Geany выступает filebrowser, ныне входит в штатный комплект основного пакета, но по прежнему включается через меню Инструменты —> Менеджер модулей —>Просмотр файлов.

Впрочем, ничего особенного, кроме просмотра файловой иерархии и простейших средств навигации, оно и не даёт. Разве что через пункт Preferences из контекстного меню можно включить полезные пункты Следовать пути текущего файла и Использовать каталог проекта (о чём подробнее будет говориться на следующей странице).

Хотя в комбинации со средствами CLI из встроенного терминала даже такой примитив оказывается весьма полезным. Так, самым простым средством создания нового документа оказывается не главное меню Geany Файл -> Создать(или соответствующая кнопка на инструментальной панели), ибо потом надо долго рыскать, куда записать этот самый новосозданный файл, чтобы он нашёл своё место в структуре проекта. А гораздо проще, при включённом следовании, так во встроенном терминальном окне команду

	$ touch [файл_имя_рек]

Затем в боковой панели нажать кнопку Обновить и из неё же открыть новосозданный пустой файл.

Управление проектами

В Geany имеется штатный менеджер проектов — достаточно функциональный и гибко настраиваемый, существенно превосходящий по возможностям механизм сессий редактора Kate. Однако по богатству возможностей уступающий своему аналогу из редактора Komodo Edit. В частности, в Geany нельзя держать в одном экземпляре программы несколько открытых проектов. И, если возникает необходимость параллельной работы над несколькими проектами (а у нас с Мануалом это обычное дело), то приходится или закрывать текущий проект, или запускать другой экземпляр редактора, что не всегда удобно.

Однако ситуация в Geany исправляется плагином geany-plugin-projectorganizer. И включением через Инструменты —> Менеджер модулей, соответствующего ему модуля Органайзер проектов. Он перекрывает функционал штатного менеджера проектов, и дополняет его. Позволяя, в частности, подключать к текущему проекту внешние каталоги:

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

Навигация по тэгам

Во вступлении к этому очерку было отмечено, что большинство убойных фишек в Geany обеспечиваются сочетанием штатных возможностей этого редактора и сопровождающих его плагинов (а то и плагинами только). Однако в нём и собственная уникальная фишка, ни от каких плагинов не зависящая. И называется она в настройках — Отображать список символов, которая по умолчанию включена в настройках редактора. Что для документа с HTML-разметкой визуально выражается так:

То есть Список символов представляет собой лёгкий и удобный способ навигации по тексту с заголовками разного уровня. Список заголовков каждого уровня может быть отсортирован по имени (это умолчание Geany) или по появлению в тексте (что удобней при навигации по HTML-файлу).

Конечно, это — не совсем представление структуры документа, а именно список рубрик. Однако такая возможность оказалась незаменимой при сборке книжек из отдельных ранее написанных статей и глав.

Впрочем, навигация по списку символов оказалась не менее удобной и при редактировании конфигурационных файлов. И вот здесь сортировка списка по имени может в некоторых случаях оказаться предпочтительной:

Закладки

Ещё один способ упрощения навигации по тексту — использование закладок. До недавнего времени в Geany они были простые и нумерованные. Первые помечают абзац целиком, вторые… о вторых я скажу позднее. Создание простых закладок и переход по ним — встроенная функция Geany. И на практике обратиться к ней очень легко: достаточно щёлкнуть мышью на сером поле слева от области редактирования текста в любом месте помечаемого абзаца, чтобы в начале его появился зелёный крестик — это и есть закладка на этот абзац:

Того же эффекта можно добиться комбинацией клавиш Control+M. И таких закладок в одном документе можно сделать сколько угодно. А перемещаться по ним — линейно, комбинациями клавиш Control+. (символ точки, вперёд) и Control+, (символ запятой, назад).

Повторение щелчка на сером поле возле помеченного абзаца снимет любую установленную ранее закладку. А последнюю закладку, установленную через Control+M, можно снять повторным нажатием той же комбинации. Избавиться от всех простых закладок разом можно через меню: Документ —> Убрать маркеры. Впрочем, при закрытии документа они и сами пропадут.

А вот закладки нумерованные можно было сохранять вместе с документом. Для чего требовался плагин geany-plugin-numberedbookmarks (если его нет), активированный через меню Инструменты —> Менеджер модулей:

Правда, в текущей версии Geany (1.33) никаких нумерованных закладок он больше не создаёт. Зато исправно сохраняет стандартные — после нажатия на кнопку Preferences и соответствующей настройки:

Перемещаться между закладками можно в любом направлении, комбинацией клавиш Control+. (символ точки — вперёд) и Control+, (символ запятой — назад).

Список закладок можно вывести на боковую панель, отметив соответствующий боксик в настройках Дополнений. В боковой панели между закладками легко перемещаться, а также удалять их:

Вывод и скрытие панелей

Как было показано выше, и нижняя панель (в ней располагается терминальное окно), и панель боковая (куда можно запихать кучу всякой всячины) — вещи очень полезные. Однако нужны они далеко не всегда — часто важнее иметь больше «жизненного пространства» для работы с текстом.

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

Делается это через меню Правка —> Настройки —> Сочетания клавиш. Далее в списке отыскиваются нужные действия (в секции Вид), двойной щелчок на строке, нажатие подходящей клавиши или их комбинации — и дело в шляпе:

Можно также назначить горячие клавиши не просто для перехода к нижней или боковой панели, а конкретному её элементу — терминалу (по умолчанию F4), списку тэгов или списку закладок:

Разумеется, горячие клавиши можно определить и для любых других действий, доступных в Geany — количество их лимитируется только памятью (не оперативной, а собственной).

Макросы

Одно из качеств, которое отличает развитый редактор от примитивного средства набора текста и исправления опечаток, — возможность наращивания его функционала. Ибо, сколь бы мощной не была исходная программа работы с текстом, предусмотреть всё, что может потребоваться впредь, мог только резиновый Полыхаев. Поэтому непременным её атрибутом должно быть наличие подключаемых пользовательских макросов. Причём создание их не должно требовать чрезмерных навыков в программировании.

Geany в полной мере отвечает этому условию, позволяя записывать макросы простым протоколированием часто выполняемых действий, привязывать их к комбинациям горячих клавиш и, при необходимости, легко редактировать их либо собственными средствами, либо в текстовом редакторе (в том числе и в нём самом). Правда, делает он это не сам по себе, а с помощью специального плагина — geany-plugin-macro. Каковой и следует установить, активировать и настроить:

После этого в меню Инструменты появляются пункты Запись макроса и Редактировать макрос. Как нетрудно догадаться, первый служит для протоколирования действий, которые будут претворены в макрос. Для чего требуется задать комбинацию запускающих его клавиш, имя макроса и нажать кнопку запись:

После чего выполнить действия, которые составят содержание макроса. Например, мы с Мануалом нынче используем макросы для ввода типографики:

Как явствует из скриншота, любой из макросов можно перезаписать, удалить или отредактировать. Последняя операция выглядит так:

Записанные макросы хранятся в файле ~.config/geany/plugins/Geany_Macros/settings.conf
. Это обычный текстовый файл, который можно отредактировать подручными средствами, например, в самом редакторе Geany.

Ранее я широко использовал макросы для ввода HTML-тэгов. Однако кот Мануал убедил меня, что этой цели лучше служат сниппеты.

Сниппеты

В Geany по умолчанию предусмотрен набор сниппетов, хранящихся в файле ~/.config/geany/snippets.conf. Правда, из всех HTML-тегов в нём предусмотрен только сниппет для ввода таблиц — далеко не самая востребованная операция в сочинительском ремесле.

Однако дело это легко поправимое — в сети можно найти немало примеров файла snippets.conf с богатым набором HTML-тегов. Например, мы с Мануалом воспользовались этим источником. Правда, HTML-секция там оказалась даже слишком богатой для наших запросов, и потому была отредактирована, сокращена и будет использована в Geany, который войдёт в ближайший релиз Cintu.

Заключение

Выше были описаны лишь некоторые из фирменных фишек редактора Geany. Среди них для нас с Мануалом периодически востребованным оказался такой пункты из меню Инструменты, как расширенное выделение (особенно выделение по столбцам):

Довольно часто приходится прибегать к разделению окна, особенно по вертикали:

И, наконец, нельзя не сказать несколько слов о таком замечательном средстве редактора Geany, как Выбор цвета. Оно также вызывается из одноимённого пункта меню Инструменты и выглядит так:

А как его использовать — очевидно, особенно удобно выбирать цвет с помощью пипетки, копировать полученный цветовой код и вставлять его в любое другое приложение. Нам с Мануалом это показалось удобнее всяких специальных инструментов по выбору цвета, благо, Geany у нас открыт почти всегда, и добраться до этого инструмента труда не составляет.

Книга о Cintu. Часть 2. Применение системы. Глава 10. Текстовый редактор Geany: 1 комментарий

  1. Алексей, приветствую!

    В Сниппетах. «Например, мы с Мануалом воспользовались этим источником.» В ссылке надо вместо <a name=… поставить <a href=…

    Geany я уже давно не пользуюсь. Сейчас основательно подсел на emacs. Но в целом прочитал с большим удовольствием, на некоторых моментах возникала фраза: «Что? Так тоже можно было?»

Добавить комментарий