insertnums插件可一键批量插入递增数字,需先通过package control安装,选中多行后调用命令并正确输入start和step参数(空格或逗号分隔),支持负步长、多光标及全填相同值等特性。

用 Ctrl+Shift+P 调出命令面板后输 “Insert Num” 就能插入递增数字
Sublime Text 本身不带原生“批量插入递增数字”功能,但官方插件 InsertNums 完全覆盖这个需求,安装后无需写正则、不依赖 Python 控制台,一步到位。
常见错误是手动选多行后按 Ctrl+Shift+P 搜索 “Insert” 却只看到 Insert Snippet 或 Insert Date——漏掉了关键词 Num。它名字就叫 InsertNums,不是 Number 也不是 Increment。
- 必须先安装插件:通过 Package Control →
Install Package→ 搜InsertNums→ 回车 - 要生效,得先选中若干行(或光标停在多行开头),否则只会插一个数
- 默认从 1 开始、步长为 1;想改起始值或步长,调出命令面板后输入
InsertNums: Insert Numbers...,会弹出输入框让你填start和step
InsertNums 的参数怎么填才不出错
它接受两个整数:start(起始值)和 step(每次加多少),中间用空格或逗号分隔。填错格式会导致只插一个数,或者报错 Invalid input format。
典型使用场景:生成测试用的 ID 列表、给日志打序号、补全 CSV 中缺失的索引列。
- 填
100 5→ 插入 100, 105, 110, … - 填
0 -1→ 从 0 开始递减:0, -1, -2, …(支持负步长) - 不能填小数、不能带单位(如
1.5或10px),否则直接失败 - 如果选了 5 行但只输入一个数(比如
42),它会把 42 插到每行——这不是 bug,是设计行为:单参数 = 全部填相同值
为什么不用正则替换 + \n 计数器
有人试过用 Find: ^ + Replace: \1 配合 Python 正则回调,结果发现 Sublime 的 re.sub 不支持跨行计数,且每次运行都要开控制台、写函数,效率低还容易出作用域错误。
InsertNums 是原生插件,走的是 Sublime 的编辑器 API,性能不受文档长度影响;而正则方案在几千行时明显卡顿,且无法回退(Ctrl+Z 只能撤一次全部操作)。
- 正则方案在 Sublime Text 4 中已基本失效:Python 3.8+ 的
re模块不支持\g在替换中调用函数 -
InsertNums支持多光标:比如在每行末尾放多个光标,它也能按顺序插不同数字 - 它不修改已有内容,只在光标位置插入,所以不会误碰你写的变量名或字符串
Mac 上快捷键冲突导致 InsertNums 命令不响应
Mac 用户常遇到:明明装好了插件,也选了多行,但 Ctrl+Shift+P 输完命令没反应。根本原因是系统级快捷键占用了 Ctrl+Shift+P(比如截图工具或输入法)。
不是插件坏了,也不是 Sublime 设置问题,而是键盘事件根本没传进编辑器。
- 先关掉 Alfred、Raycast、Bartender 这类工具的全局快捷键
- 进系统设置 → 键盘 → 快捷键 → 屏幕快照,检查是否启用了
Ctrl+Shift+P - 临时验证:用鼠标点菜单栏 →
Tools → Command Palette…,再搜InsertNums,能跑通就说明是快捷键被劫持 - 如果非要用快捷键,可在 Sublime 的
Preferences → Key Bindings里自定义,例如加一条:{"keys": ["alt+shift+n"], "command": "insert_nums"}
start 和 step 对得上。











