Заметки о Geany. Макросы

Алексей Федорчук

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

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

В Mint’е (и всех, насколько я знаю, дистрибутивах семейства Ubuntu) соответствующий плагин собран в виде отдельного пакета, который отыскивается так:

$ apt search geany-plugin | grep macro
p   geany-plugin-macro              - macro plugin for Geany
p   geany-plugin-macro:i386         - macro plugin for Gean

После чего его остаётся только установить:

$ sudo apt install geany-plugin-macro

Впрочем, это можно сделать и через mintinstall, о чём было сказано здесь.

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

geany_00

После этого в меню Инструменты появляются пункты Запись макроса и Редактировать макрос:

geany_01

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

geany_02

После чего выполнить действия, которые составят содержание макроса. Например, я использую их для ввода html-тегов, причём не всех, а только самых употребимых (мной), о которых легко забыть во время окончательного оформления страницы в CMS (я пользуюсь WodrPress’ом). Поэтому я просто вводу здесь текст открывающего и закрывающего тега (во избежание лишней работы автозакрытиые тегов средствами самой Geany лучше отключить). После чего снова обращаюсь к меню Инструменты, где пункт Запись макроса превращается в Остановить запись макроса

geany_03

Самая сложная задача здесь — это подобрать комбинацию клавиш. Каковая должна быть

  1. мнемонически значимой, и
  2. не задействованной среди горячих клавиш самой Geany и рабочей среды, в которой она запущена.

Поскольку выполнение второго требования с каждым днём становится всё сложнее, то и с мнемоникой приходится извращаться. Например, для ввода тега для моноширинного шрифта мне пришлось задействовать комбинацию Alt+m — от monospace, и так далее. Впрочем, это та земля, на которой каждый умирает в одиночку — в соответствие со своими потребностями и возможностями. Кроме того, комбинации горячих клавиш, привязанные к макросам, не работают при русской раскладке клавиатуры — хотя все штатные хоткеи Geany от раскладки не зависят. Однако это горе не великое — всё равно переключаться с кириллицы на латиницу и обратно приходится очень часто.

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

geany_04

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

geany_05

Порядок действий по редактированию макросов очевиден, поэтому останавливаться на этом вопросе не буду. Замечу только, что это — не единственный способ выполнения данной процедуры. Ибо описание всех макросов содержится в файле /home/alv/.config/geany/plugins/Geany_Macros/settings.conf. Это — обычный текстовый файл, и в соответствующем предыдущему скриншоту виде выглядит так:

 [Settings]
Save_Macros=true
Question_Macro_Overwrite=true

[Macros]
A0=code
B0=109
C0=8
D0=2170,<code>,2170,</code>,2304,2304,2304,2304,2304,2304,2304
A1=highlighted
B1=104
C1=8
D1=2170,<strong>,2170,</strong>,2304,2304,2304,2304,2304,2304,2304,2304,2304
A2=strike
B2=115
C2=8
D2=2170,<s>,2170,</s>,2304,2304,2304,2304
A3=italic
B3=105
C3=8
D3=2170,<em>,2170,</em>,2304,2304,2304,2304,2304
A4=listing
B4=112
C4=8
D4=2170,<pre>,2329,2329,2170,</pre>,2302
A5=link
B5=117
C5=8
D5=2170,<a href=\\"\\">,2170,</a>,2304,2304,2304,2304
A6=remote
B6=114
C6=8
D6=2170,<a href=\\"\\" target=\\"_blank\\" rel=\\"nofollow\\">,2170,</a>,2304,2304,2304,2304

А потому может быть отредактирован непосредственно в текстовом редакторе — например, в нём самом.

Содержание

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