我需要在许多文件中进行多处替换,因此我正在寻找一个“批量查找和替换”工具,这个 RegReplace for Sublime Text 3 插件看起来很有前途,但我无法让它工作。
以下是我所做的:
- 使用 PackageControl 安装 RegReplace:安装包
编辑文件 Preferences->PackageSettings->RegReplace->Settings-User:
{ "replacements": { "remove_a": { "find" : "a", "replace": "", "greedy": true } } }
- 打开了包含一些文本的文件
- 打开控制台
- 输入了
view.run_command('reg_replace',{"replacements": ["remove_a"]})
但什么也没发生(我预计文件中的字母“a”会被删除) 编辑文件 Preferences->PackageSettings->RegReplace->Commands-User:
[ { "caption": "Remove a", "command": "reg_replace", "args": { "replacements": ["remove_a"] } } ]
- 从命令面板运行命令“删除”。同样,什么也没发生。
有什么办法可以让它工作吗?
答案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
。
或者,您可以通过执行以下操作来创建新规则(您可能会发现通过这种方式创建新规则更容易):
- 打开命令面板(在 Windows 中,按Ctrl+ Shift+ P)
- 类型:
regrep
- 选择RegReplace:创建新的正则表达式规则选项
- 在打开的“设置面板”中,配置以下设置(包括双引号):
- 名称 = “remove_a”
- 查找 = “a”
- 替换 = “”
- 贪婪 = True
- 当光标仍在“设置面板”时,按Ctrl+S保存设置
- 要关闭“设置面板”,请按下Esc键
通过上述任一方法创建规则后,都可以通过命令面板的RegReplace:编辑正则表达式规则选项,它将允许您选择其中一个现有命名规则进行编辑。
参考文献:创建正则表达式规则的更好方法“部分用户指南。