Русское сообщество Sublime Text
Основной раздел => Вопросы и ответы => Тема начата: k1ker2 от Апреля 24, 2014, 16:06:05
-
А можно ли как-то сделать макросы с заменой? А то у меня почему-то не получается.
В общем, приходиться убирать постоянно BB коды, через регулярки и поиск-замену.
К примеру: \[font=.*?] заменить на *Пусто*. Вот список всех замен:
(http://i.imgur.com/NDKgghE.png)
Можно ли как-то под это написать макрос или дополнение, чтобы его потом можно было редактировать?
-
Операции поиска или замены ST не записывает в макрос (что странно).
Для автоматизации этого процесса можно, например, написать небольшой плагин либо поставить готовый RegReplace (https://sublime.wbond.net/packages/RegReplace).
После установки открой настройки: Preferences > Package Settings > Reg Replace > Settings - User и добавь туда параметры нового поиска:
{
"replacements": {
"remove_bb": {
"find": "\\[(\\w+)(=.+?)?\\](.+?)\\[\\/(\\w+)\\]",
"replace": "\\3",
"greedy": true,
"case": false
}
}
}
Код этого регулярного выражения потестируй перед использованием, так как я его вдумчиво не проверял.
Потом создай макрос и добавь в него команду для замены:
[
{
"command": "reg_replace",
"args": { "replacements": ["remove_bb"] }
}
]
На всякий случай, как создать макрос. Макрос это текстовый файл с набором команд. Открой список команд Tools > Command Palette, набери browse и выбери команду Preferences: Browse Packages. Откроется проводник в папке Packages редактора. Макрос необходимо сохранить в папке User с расширением .sublime-macro . Например: Remove bb.sublime-macro
После сохранения макрос сразу будет доступен из меню Tools > Macros > User > Remove bb.