Sublime Text多行编辑时如何折叠所有未选中的非目标代码行
Sublime Text 序列化代码批量编辑解决方案
- 方案1:折叠无关代码,实现目标行集中编辑
- 按
Cmd+F调出搜索框,输入匹配目标行的规则(示例场景可使用正则addUserKnob.*mi_(box|boxexpr|crop)\d+,记得开启搜索框左侧的正则匹配模式) - 按
Option+Enter选中所有搜索到的目标行 - 右键依次选择「折叠」-「折叠未选中的行」,中间间隔的无关代码会全部折叠,所有目标行会连续显示在视图中,直接进行多光标同步编辑即可。编辑完成后按
Cmd+K再按Cmd+J即可展开所有折叠内容。
- 按
- 方案2:正则批量替换(适合固定规则的批量修改)
如果你的编辑需求符合统一规则,无需逐行确认,直接用正则替换效率更高:
比如要批量修改所有mcropX.resetwh的参数值,可按以下步骤操作:- 按
Cmd+Option+F调出替换面板,开启正则匹配模式 - 查找内容填写
(addUserKnob \{41 mi_boxexpr\d+ l R -STARTLINE T mcrop\d+\.)resetwh - 替换内容填写
$1new_param(将new_param替换为你需要修改的目标参数名即可) - 点击「全部替换」即可一次性完成所有行的修改,无需手动选中或跳转。
- 按
- 方案3:书签标记跳转(适合需要逐块核对的编辑场景)
如果你需要逐个核对每个代码块再修改,可以给目标块加书签实现快速跳转:- 光标定位到目标代码块任意位置,按
Cmd+F2添加书签 - 所有目标块标记完成后,按
F2跳转到下一个书签,Shift+F2跳转到上一个书签,快速在多个目标块之间切换编辑。
- 光标定位到目标代码块任意位置,按
内容的提问来源于stack exchange,提问作者andio
相关产品推荐
相关产品推荐

