16

Как мне записать и запустить множественный поиск / замену с Sublime Text 2? Я попытался записать макрос, но, похоже, Sublime не будет записывать поиск / замену, только ввод текста и т.д.

2 ответа2

13

Да, Reg Replace - это способ сделать это. После установки этого пакета способ сделать это:

  1. Отредактируйте <ваш Sublime Text Directory>/Packages/RegReplace/reg_replace.sublime-settings (вы можете получить доступ к этому в ST2 в Предпочтения> Настройки пакета> Reg Replace> Настройки - По умолчанию). Создайте новые записи в объекте "замены", каждая из которых представляет собой одно регулярное выражение «найти / заменить». Обратите внимание, что вы должны вдвойне избегать специальных символов. Например,
    {
    "replacements": {
        "do_something_1": {
        "find": "\\s*\\t\\s*",
        "replace": "\\t",
        "greedy": true,
        "case": false
    },
        "do_something_2": {
        "find": "\\n\\n+",
        "replace": "\\n",
        "greedy": true,
        "case": false
    },
    ...
  1. Объедините эти отдельные замены в команду для палитры команд. Для этого отредактируйте файл <ваш Sublime Text Directory>/RegReplace/Default.sublime-commands (Настройки> Параметры пакета> Reg Replace> Commands - Default). Добавьте что-то вроде этого:
[
    {
        "caption": "Reg Replace: My RegEx Macro",
        "command": "reg_replace",
        "args": {
            "replacements": [
                "do_something_1",
                "do_something_2"
            ]
         }
     },
     ...

Затем все, что вам нужно сделать, это вызвать палитру команд, нажав Ctrl+Shift+P и перейти к вновь созданной команде.

Для справки, в моей установке Windows 7 каталог Sublime Text находится по адресу C:/Users//AppData/Roaming/Sublime Text 2/

1

Вы правы, Sublime не будет записывать поиск / замену.

Однако из этого поста о Stackoverflow, похоже, вы можете использовать RegReplace.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .