Sublime批量加序号最稳用原生命令Insert Enumerated Lines或Insert Numbers,但需先布好多光标;前者仅在多行选中时生效,后者依赖光标同列对齐,均不支持前导零,需正则或插件补全。

Sublime 多行编辑批量加序号,最稳路径是用原生命令 Insert Enumerated Lines 或 Insert Numbers,但必须先布好多光标——不布光标就执行,命令会静默失效或只插一个数。
为什么 Insert Enumerated Lines 有时没反应?
这个命令只在「选中多行」后才触发批量编号;如果光标单独停在某一行,它会从该行开始向下无差别插入 1.、2.、3.…,把原有内容顶乱。
- 正确做法:先用
Ctrl+L(Win/Linux)或Cmd+L(macOS)逐行选中目标行(比如你要编号的 8 行),再按Ctrl+Shift+P输入Insert Enumerated Lines回车 - 它默认输出
1.、2.格式,不覆盖原文,也不自动对齐缩进——若行首有 Tab,数字会紧贴 Tab 写 - 起始值和步长固定为 1,不能直接设成
0.或100.;想改得手动调第一行再重跑剩余行
Insert Numbers 怎么用才真正递增?
它比 Insert Enumerated Lines 更灵活,但依赖光标位置:单光标只插一个数,多光标才递增——且所有光标必须在同一列(比如全在行首),否则序号错位。
- 先用
Ctrl+Shift+L拆出每行光标 → 再按Home(Win/Linux)或Cmd+←(macOS)把所有光标拉到行首(注意:一次Home可能只到缩进起点,需按两次或用Ctrl+Home) - 执行
Insert Numbers后弹出输入框,填1001 1表示从 1001 开始、每次加 1;填0 -2表示 0, -2, -4…(支持负步长) - 它不生成前导零(如
0001),要补零得后续用正则替换:^(\d+)$→str_pad($1, 4, "0", STR_PAD_LEFT)(需 Python 控制台)或分批处理
正则替换加序号:适合大文件或带格式需求
当你要的是 [001]、item-1 或跳过空行/注释时,正则比命令更可控,且不依赖光标状态。
- 先确保换行符统一:按
Ctrl+Shift+P→Set Line Endings: Unix,避免\r\n混合导致漏匹配 - 打开替换面板(
Ctrl+H),启用.*模式,查找^(.+)$,替换为[$1]或item-$1——.+不匹配空行,天然跳过 - 若要从 1 开始编号并加前缀,得两步走:先用
Insert Numbers插纯数字,再用正则^(\d+)$替换为[$1];别试图用正则直接生成递增数,Sublime 不支持
最容易被忽略的一点:所有原生命令(包括 Insert Num)都不支持前导零和自定义格式字符串;想一步到位生成 user_001 这类,要么用插件 InsertNums(注意参数必须是整数空格分隔,输错就全填相同值),要么接受两步操作——先递增、再格式化。











