Insert Enumerated Lines 命令只响应含换行符的行级选区,需用 Ctrl+L 逐行选中、确认含末尾换行符、再调用命令;否则编号错位或失效。

Sublime 里多行编辑生成列表格式,最稳路径是组合使用 Ctrl+Shift+L 和原生命令 Insert Enumerated Lines,不是插件、不卡顿、不崩——但必须先选中目标行,否则编号会从光标处向下乱插。
为什么 Insert Enumerated Lines 总是插错位置?
这个命令根本不看“你想编哪几行”,只认“当前选区里有没有换行符”。常见失效场景:
- 鼠标拖选时最后一行没覆盖到换行符(视觉上像选中了,其实漏了
\n),结果只给第一行加1. - 光标停在空行上直接按命令,它就只插一个
1.,不会往下扫 - 用
Ctrl+D先选词再按命令,命令压根不响应——Insert Enumerated Lines只接受行级选区,不接受单词级选区
怎么确保每行都插上 1.、2.、3.?
正确流程分三步,缺一不可:
- 用
Ctrl+L(Windows/Linux)或Cmd+L(macOS)逐行选中目标内容(比如你要编号的 5 行) - 确认选区包含完整行(含末尾换行符),可按
→键测试:光标能移到行尾换行符前即为有效 - 按
Ctrl+Shift+P呼出命令面板,输入Insert Enumerated Lines并回车
编号会紧贴每行原有内容插入,不覆盖、不缩进调整。起始值和步长固定为 1,不能直接设成 0. 或 10.;想改,得手动改第一行再重跑。
要 [001]、item-1 或从 1001 开始怎么办?
这时候 Insert Enumerated Lines 不够用,得切到 Insert Numbers + 正则替换:
- 先用
Ctrl+Shift+L把光标打到所有行首(确保列对齐) - 按
Ctrl+Shift+P输入Insert Numbers: Start from 1(别用默认的从 0 开始) - 打开替换面板
Ctrl+H,启用正则(点.*图标) - 查找框填
^(\d+)$,替换框填[$1]或item-$1(注意括号要转义成\[和\])
零填充(如 001)不支持自动补,得靠外部工具或分批处理。别碰 Enumerate 插件——ST4 下已明确标注 not maintained,中文混排易跳行,大文件直接卡死。
真正容易被忽略的是:列对齐不准时,Ctrl+Shift+L 拆出来的光标会偏移,导致编号插歪。编辑前先执行 Convert Indentation to Spaces 统一缩进,再关掉 detect_indentation 防干扰。

















