如何使用 Sublime Text 2 记录并运行多个查找/替换?我尝试录制宏,但 Sublime 似乎不会记录查找/替换,只会记录文本输入等。
答案1
是的,Reg Replace 是可以做到的。安装该包后,操作方法是:
- 编辑 <您的 Sublime Text 目录>/Packages/RegReplace/reg_replace.sublime-settings(您可以在 ST2 中的“首选项”>“包设置”>“Reg Replace”>“设置 – 默认”中访问它)。在“replacements”对象中创建新条目,每个条目都是一个正则表达式查找/替换。请注意,您必须对特殊字符进行双重转义。例如,
{ "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 }, ...
- 将这些单独的替换串在一起,形成命令面板的命令。为此,编辑文件 <您的 Sublime Text 目录>/RegReplace/Default.sublime-commands(首选项 > 包设置 > Reg Replace > 命令 – 默认)。添加类似以下内容:
[ { "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/
答案2
答案3
我们不需要插件。这是用“爱”替换“战争”的 Sublime Text 宏代码。
[
{
"args": {"to": "bof"}, "command": "move_to"
},
{
"args": {"characters": "War"}, "command": "insert"
},
{
"args": {"extend": true, "to": "bol"}, "command": "move_to"
},
{
"command": "slurp_find_string"
},
{
"args": {"characters": "Love"}, "command": "insert"
},
{
"args": {"extend": true, "to": "bol"}, "command": "move_to"
},
{
"command": "slurp_replace_string"
},
{
"args": null, "command": "left_delete"
},
{
"args": {"close_panel": true }, "command": "replace_all"
},
]