17
марта
2008

Макросы в EmEditor

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

Сами по себе макросы ЕmEditor представляют собой программы на JavaScript или VB Script, для обработки текста в открытом файле. Эти программы могут запускаться вручную, либо автоматически — по назначенному событию (например, при открытии или закрытии файла, выделении текста и т.п.).

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

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

Приведу небольшой пример такой программы. Этот макрос обамляет выделенный фрагмент текста в типографически-правильные (для русского языка) кавычки:

document.selection.Text="«"+document.selection.Text+"»";

Как видно из примера, все очень просто. Другой пример — макрос для вставки в текст HTML-гиперссылок. Адрес ссылки вставляется в таг из буффера обмена, а текст ссылки задается выделенным фрагментом:

tmp = document.selection.Text;
document.selection.Text = '<a href="';
document.selection.Paste(eeCopyUnicode);
document.selection.Text += '">' + tmp + '';

Для того, чтобы добавить в редактор новый макрос, требуется сохранить его в файл (учитывая, что примеры выше написаны на JS, расширение должно быть .jsee). Все файлы макросов складываются в специальную директорию, путь к которой задается в Macros / Customize / Options / Folder.

EmEditor Macroses

После того, как файл сохранен, его следует добавить в список активных (т.е. доступных через меню редактора) макросов: Macros / Select. В принципе, количество таких файлов ничем не лимитировано, но максимальное число макросов, для которых можно назначить горячие клавиши, зачем-то ограничено десятью. А возможность назначать эти горячие клавиши, на мой взгляд, — просто неотделимая от макросов функция, т.к. делает их использование на порядок удобнее (Help / Keyboard map…).

К этому посту приложен архив с приведенными выше примерами макросов, а так же еще несколькими — для вставки типографских символов (кавычек и тире). У меня они назначены на те же комбинации клавишь, что и в Word. Например, длинное тире — Ctrl-Minus, кавычки — Ctrl-< и Ctrl->. Так к ним не пришлось привыкать заново.

В заключении хочу сказать, что было бы хорошо в следующей версии увидеть расширенный набор языков для написания макросов. А именно, добавить к VB и JS, например, Python и PHP. Технически это совсем не сложно, а на практике могло бы принести большую пользу. Оба этих интерпретатора способны использовать внешние модули, благодаря чему возможности макросов могут быть очень серьезно расширены.

А используете ли макросы вы? И, если да, то где и как? Комментарии и дополнения, как обычно, приветствуются.

Ссылки по теме

Написать комментарий

Можно использовать следующие HTML теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .