Одно из качеств, которое отличает развитый редактор от примитивного средства набора текста и исправления опечаток, — возможность наращивания его функционала. Ибо, сколь бы мощной не была исходная программа работы с текстом, предусмотреть всё, что может потребоваться впредь, мог только резиновый Полыхаев. Поэтому непременным её атрибутом должно быть наличие подключаемых пользовательских макросов. А поскольку вся эта книга ориентирована на применителей широкого профиля, желательно, чтобы процесс создания макросов не требовал чрезмерных навыков в программировании.
Geany в полной мере отвечает данным требованиям, позволяя записывать макросы простым протоколированием часто выполняемых действий, привязывать их к комбинациям горячих клавиш и, при необходимости, легко редактировать их либо собственными средствами, либо в текстовом редакторе (в том числе и в нём самом). Правда, делает он это не сам по себе, а с помощью специального плагина. Каковой и следует установить в первую очередь.
В Mint'е соответствующий плагин собран в виде отдельного пакета, который отыскивается так:
$ apt search geany-plugin | grep macro
p geany-plugin-macro - macro plugin for Geany
p geany-plugin-macro:i386 - macro plugin for Gean
После чего его остаётся только установить:
$ apt install geany-plugin-macro
Впрочем, это можно сделать и через mintinstall, о чём было сказано в соответствующем очерке.
Да, разумеется, надо не забыть активировать плагин через главное меню: Инструменты -> Менеджер модулей, как это было описано в предыдущем миниочерке. А также заглянуть в его настройки через кнопку Параметры. Где, впрочем, ничего делать не надо — обе необходимые опции включены по умолчанию:
После этого в меню Инструменты появляются пункты Запись макроса и Редактировать макрос:
Как нетрудно догадаться, первый служит для протоколирования действий, которые будут претворены в макрос. Для чего требуется задать комбинацию запускающих его клавиш, имя макроса и нажать кнопку запись:
После чего выполнить действия, которые составят содержание макроса. Например, я использую их для ввода html-тегов, причём не всех, а только самых употребимых (мной), о которых легко забыть во время окончательного оформления страницы в CMS (я пользуюсь WodrPress'ом). Поэтому я просто вводу здесь текст открывающего и закрывающего тега (во избежание лишней работы автозакрытиые тегов средствами самой Geany лучше отключить). После чего снова обращаюсь к меню Инструменты, где пункт Запись макроса превращается в Остановить запись макроса
Самая сложная задача здесь — это подобрать комбинацию клавиш. Каковая должна быть
1. мнемонически значимой, и
2. не задействованной среди горячих клавиш самой Geany и рабочей среды, в которой она запущена.
Поскольку выполнение второго требования с каждым днём становится всё сложнее, то и с мнемоникой приходится извращаться. Например, для ввода тега для моноширинного шрифта мне пришлось задействовать комбинацию Alt+m — от monospace, и так далее. Впрочем, это та земля, на которой каждый умирает в одиночку — в соответствие со своими потребностями и возможностями. Кроме того, комбинации горячих клавиш, привязанные к макросам, не работают при русской раскладке клавиатуры — хотя все штатные хоткеи Geany от раскладки не зависят. Однако это горе не великое — всё равно переключаться с кириллицы на латиницу и обратно приходится очень часто.
Прямым протоколированием обычно трудно получить аккуратную макрокманду, не содержащую избыточных нажатий на клавиши. И тут стоит обратиться к пункту Редактировать макрос, которым вызывается список всех записанных макросов:
Как явствует из скриншота, любой из макросов можно перезаписать, удалить или отредактировать. Последняя операция, например, для редактирования гиперссылки выглядит так:
Порядок действий по редактированию макросов очевиден, поэтому останавливаться на этом вопросе не буду. Замечу только, что это — не единственный способ выполнения данной процедуры. Ибо описание всех макросов содержится в файле /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,,2170,
A1=highlighted
B1=104
C1=8
D1=2170,,2170,
,2304,2304,2304,2304,2304,2304,2304,2304,2304A2=strike
B2=115
C2=8
D2=2170,,2170,
A3=italic
B3=105
C3=8
D3=2170,,2170,
,2304,2304,2304,2304,2304A4=listing
B4=112
C4=8
D4=2170,
,2329,2329,2170,,2302
A5=link
B5=117
C5=8
D5=2170,,2170,
,2304,2304,2304,2304A6=remote
B6=114
C6=8
D6=2170,,2170,
,2304,2304,2304,2304А потому может быть отредактирован непосредственно в текстовом редакторе — например, в самом Geany.
Geany и multiterm