多光标必须手动布设,ctrl+shift+l仅在选中多行后生效;insertnums是sublime text 4唯一稳定递增插件,需严格按格式输入两个整数,不支持小数、冒号分隔或单位,零填充和前缀须分步处理。

多光标必须手动布设,Ctrl+Shift+L 不是万能钥匙
Sublime 的递增填充(无论是原生 Insert Numbers 还是插件 InsertNums)只响应光标位置,不响应你“看起来选中了多行”。很多人点开命令面板输 Insert Numbers,结果只在第一行插了个 0——因为根本没激活多光标。
正确做法不是拖选文字,而是让光标落在目标位置:
- 先用
Ctrl+Shift+L(Windows/Linux)或Cmd+Shift+L(macOS)把当前选中的行拆成「每行一个光标」;但前提是:你得先选中这些行(比如鼠标拖选或Ctrl+A),否则它只作用于当前行 - 更稳的方式是列选择:
Ctrl+Alt+↑/↓(Windows/Linux)或Cmd+Alt+↑/↓(macOS)竖向拉出矩形区域,松手即生成对齐光标 - 如果目标位置不在同一列(比如有的缩进深、有的顶格),
InsertNums仍会按光标顺序填数,但数字会“飘”在各行不同位置——务必先统一光标列,例如全选后按Home
InsertNums 是 ST4 唯一靠谱的递增插件,别搜错名字
Sublime Text 4 已彻底淘汰 TextPastry 等老插件,Insert Sequence 和 Insert Numbers 原生命令参数难调、不支持零填充、无法撤销。真正开箱即用且稳定的只有 InsertNums。
安装和触发必须严格:
- 打开命令面板
Ctrl+Shift+P→ 输入Package Control: Install Package→ 搜InsertNums(注意大小写、带s、无空格)→ 回车 - 装完不重启也能用,但首次需手动执行一次
InsertNums: Insert Numbers才加载;若命令面板里搜Insert Num没反应,说明没装成功 - 别搜
increment、number或auto——这些关键词在 Package Control 里根本匹配不到
参数格式错一个字符,就只插一个数
InsertNums 弹出的输入框只接受两个整数,中间用空格或逗号分隔。填错格式不会报错,只会静默失败:所有光标都插同一个数(通常是第一个光标位置的值)。
典型合法输入:
-
1001 2→ 生成1001、1003、1005… -
100,-1→ 生成100、99、98…(负步长支持) -
42→ 所有行都填42(这是设计行为,不是 bug)
常见非法输入(全部失败):
-
100.5 2(小数会被截断为100) -
100:2(冒号分隔) -
100, 2(逗号后多空格) -
100px 2(带单位)
零填充和前缀必须分步做,插件不管格式
InsertNums 只管数值递增,不处理字符串拼接、不补前导零、不覆盖已有内容。想得到 user_0001、user_0002,必须分三步:
- 第一步:用
Ctrl+Shift+L选中所有目标行 → 按Home移到行首 → 输入user_(统一加前缀) - 第二步:再用列选择(
Ctrl+Alt+↓)选中user_后面一列空白位 → 手动输入0001→ 执行InsertNums: Insert Numbers→ 填0001 1(起始值必须带零,否则递增后变成1、2) - 第三步:如果列里已有
ID:这类前缀,InsertNums会在末尾追加数字(如ID:1),不是覆盖——要覆盖就得提前清空那列
一旦开始递增,位数就锁死了:从 0001 到 0009 没问题,但到第 10 行时不会自动变成 0010,除非你一开始输入的就是 0010。











