Como gravar e executar várias localizações / substituições pelo Sublime Text 2?

16

Como gravar e executar várias localizações / substituições pelo Sublime Text 2? Tentei gravar uma macro, mas, ao que parece, o Sublime não registra a localização / substituição, apenas a entrada de texto etc.

Desmond Hume
fonte

Respostas:

13

Sim, Reg Replace é a maneira de fazê-lo. Depois de instalar esse pacote, a maneira de fazer isso é:

  1. Edite <diretório de texto sublime> /Packages/RegReplace/reg_replace.sublime-settings (você pode acessá-lo no ST2 em Preferências> Configurações do pacote> Reg Replace> Settings - Default). Crie novas entradas no objeto "substituições", cada uma sendo uma única localização / substituição de expressão regular. Observe que você deve escapar duplamente de caracteres especiais. Por exemplo,
    {
    "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. Coloque as substituições individuais juntas em um comando para a paleta de comandos. Para fazer isso, edite o arquivo <your Sublime Text Directory> /RegReplace/Default.sublime-comands (Preferências> Configurações do pacote> Reg Replace> Command - Default). Adicione algo como isto:
[
    {
        "caption": "Reg Replace: My RegEx Macro",
        "command": "reg_replace",
        "args": {
            "replacements": [
                "do_something_1",
                "do_something_2"
            ]
         }
     },
     ...

Então, tudo o que você precisa fazer é chamar a paleta de comandos pressionando Ctrl + Shift + P e navegando até o comando recém-criado.

Para referência, na minha instalação do Windows 7, o diretório Sublime Text está em C: / Users // AppData / Roaming / Sublime Text 2 /

John Alexander
fonte
11
Eu encontrei uma maneira de editar os comandos Default.sublime no menu. Preferências -> Configurações do pacote -> Reg Replace
Kyle
Aha. Postagem atualizada.
John Alexander
@JohnAlexander, Obrigado. Ter que descobrir isso sozinho - era tão provável quanto acontecer com meu diploma de cirurgia cerebral.
precisa saber é o seguinte
@JohnAlexander Se o RegReplace for atualizado automaticamente pelo Package Control, as configurações e comandos permanecerão?
Edward Edward
@ Edward sim, acredito que sim.
John Alexander
1

Você está certo O Sublime não registrará a localização / substituição.

No entanto, a partir desta postagem no Stackoverflow, parece que você pode usar o RegReplace .

Jay
fonte