insert numbers仅响应多光标位置,需先用ctrl+shift+l或ctrl+alt+↑/↓布多光标;输入框只接受两个整数(空格或逗号分隔),非法格式导致全插重复值;补零或加前缀须分步操作;列选+increment selection是唯一可控竖向递增方案。

多光标必须先布好,否则 Insert Numbers 什么都不会发生
Sublime 的 Insert Numbers 命令只响应多光标位置,不响应“选中多行”或“光标在某行”。你拖选 10 行再执行命令,它只在第一行光标处插一个数(通常是 0),界面无提示、无报错——这不是 bug,是设计逻辑。
正确做法只有两种:
- 用
Ctrl+Shift+L(Windows/Linux)或Cmd+Shift+L(macOS)先选中目标行,再按Home或←两次确保所有光标落在行首(不是缩进后) - 或用
Ctrl+Alt+↑/↓(Windows/Linux)列向添加光标,适合对齐固定列的场景
别用 Ctrl+D 选中相同词后执行——它会把所有光标当“单次插入”,结果全是同一个数字(比如全填 1)。
Insert Numbers 输入框格式极敏感,输错就全插重复值
执行 Insert Numbers 后弹出的输入框,只接受两个整数,用空格或逗号分隔。任何偏差都会退化为“每行插同一个数”。
- 合法:
1001 1、1001,5、0 -2(从 0 开始,每次减 2) - 非法:
1001.5(小数被截断为 1001)、1001px(含单位)、1001:5(冒号不识别)、1001,5(中文逗号) - 只输一个数(如
42)→ 所有行都插 42;漏掉步长默认为 1,但起始值不会自动递增
想补零或加前缀?不能一步到位,得拆开做
Insert Numbers 和原生命令都只输出纯数字,不拼接字符串、不自动补零。要生成 user_0001、user_0002 这类结果,必须分两步:
- 先统一加前缀:用
Ctrl+Shift+L→Home→ 输入user_ - 再跑
Insert Numbers:光标仍在行首,输入1 1,得到user_1、user_2… - 补零只能靠列选 +
Increment Selection:用Ctrl+Alt+↑/↓列选数字部分 → 全输0001→ 执行Increment Selection(它支持保持位数递增)
列选 + Increment Selection 是唯一可控的竖向递增方案
当你需要严格对齐某列(比如 CSV 第二列、日志时间戳右侧),且起始值/步长都要精确控制时,Increment Selection 是目前唯一不依赖正则、不跳过空行、不污染上下文的方案。
- 必须是矩形列选区:
Ctrl+Alt+鼠标拖拽或Ctrl+Alt+↑/↓,普通拖选无效 - 松开后手动输入起始值(如
1001),再执行Increment Selection(默认步长为 1) - 它不自动补零,但能保持你输入的位数——比如你输
0001,它会生成0001、0002、0003
真正容易被忽略的是:列选必须严格对齐,哪怕某行缩进多一个空格,那一行的光标就会错位,导致编号错行。动手前先确认目标列是否真的一致。











