RegReplace Sublime Text 3 插件没有执行任何操作

RegReplace Sublime Text 3 插件没有执行任何操作

我需要在许多文件中进行多处替换,因此我正在寻找一个“批量查找和替换”工具,这个 RegReplace for Sublime Text 3 插件看起来很有前途,但我无法让它工作。

以下是我所做的:

  1. 使用 PackageControl 安装 RegReplace:安装包
  2. 编辑文件 Preferences->PackageSettings->RegReplace->Settings-User:

    {
      "replacements": {
        "remove_a": {
          "find" : "a",
          "replace": "",
          "greedy": true
        }
      }
    }
    
  3. 打开了包含一些文本的文件
  4. 打开控制台
  5. 输入了view.run_command('reg_replace',{"replacements": ["remove_a"]}) 但什么也没发生(我预计文件中的字母“a”会被删除)
  6. 编辑文件 Preferences->PackageSettings->RegReplace->Commands-User:

    [
      {
        "caption": "Remove a",
        "command": "reg_replace",
        "args": {
          "replacements": ["remove_a"]
         }
      }
    ]
    
  7. 从命令面板运行命令“删除”。同样,什么也没发生。

有什么办法可以让它工作吗?

答案1

将以下文本放入Preferences -> PackageSettings -> RegReplace -> Rules-User,然后保存文件:

{
    "replacements":
    {
        "remove_a":
        {
            "find": "a",
            "name": "remove_a",
            "replace": "",
            "greedy": true
        }
    }
}

然后,view.run_command('reg_replace',{"replacements": ["remove_a"]})从控制台执行命令,就像您在步骤中所做的那样5


或者,您可以通过执行以下操作来创建新规则(您可能会发现通过这种方式创建新规则更容易):

  1. 打开命令面板(在 Windows 中,按Ctrl+ Shift+ P
  2. 类型:regrep
  3. 选择RegReplace:创建新的正则表达式规则选项
  4. 在打开的“设置面板”中,配置以下设置(包括双引号):
    • 名称 = “remove_a”
    • 查找 = “a”
    • 替换 = “”
    • 贪婪 = True
  5. 当光标仍在“设置面板”时,按Ctrl+S保存设置
  6. 要关闭“设置面板”,请按下Esc


通过上述任一方法创建规则后,都可以通过命令面板的RegReplace:编辑正则表达式规则选项,它将允许您选择其中一个现有命名规则进行编辑。


参考文献:创建正则表达式规则的更好方法“部分用户指南

相关内容