sublime中快速插入有序列表最稳的方法是原生命令insert enumerated lines,需先选中目标行,否则会从光标处向下无差别插入;默认生成1.、2.格式,不覆盖原文,缩进后紧贴编号,起始值与步长固定为1,不支持自定义格式或前导零。

Sublime 里快速插入有序列表,最稳的路径是用原生命令 Insert Enumerated Lines,不是插件、不依赖正则、不卡顿——但必须先选中目标行,否则它会从光标位置向下无差别插入,把已有内容顶乱。
用 Insert Enumerated Lines 插入 1. 2. 3. 格式
这个命令默认输出带点的编号(如 1.、2.),适合 Markdown 或纯文本文档开头的条目罗列。
- 先用
Ctrl+L(Windows/Linux)或Cmd+L(macOS)逐行选中你要编号的行(比如 5 行内容) - 按
Ctrl+Shift+P呼出命令面板,输入Insert Enumerated Lines并回车 - 编号会插在每行最前面,不覆盖原有文字;如果行首有缩进,数字会紧贴缩进写,不会自动对齐
- 起始值固定为
1,步长固定为1,不能直接设成0.或10.——想改得手动调第一行再重跑
需要自定义起始值或格式?用 Insert Numbers + 正则补前缀
当你要的是 1001、1002,或 [001]、item-1 这类格式,Insert Enumerated Lines 就不够用了。这时候该上 Insert Numbers 配合替换。
- 先用
Ctrl+Shift+L把光标打到每行开头(确保所有光标在同一列) - 按
Ctrl+Shift+P输入Insert Numbers,默认从0开始;若要从1起,搜Insert Numbers: Start from 1 - 编号插入后,打开替换面板(
Ctrl+H),启用正则(点.*图标) - 查找框填
^(\d+)$,替换框填[$1]或item-$1——注意括号要转义成\(和\),否则会被当语法解析 - 如果编号位数不齐(比如
1、10、100),零填充得靠手动补全或分批处理,Insert Numbers不生成前导零
别碰 Enumerate 插件:兼容性差、易崩、编号错乱
网上常推的 Enumerate 插件,在 Sublime Text 4(当前主流版本)下已明确标注 not maintained for ST4,实际表现比原生方案还不可靠。
- 对中文混排支持差,遇到中文标点或全角空格容易跳行或漏编
- 大文件里频繁触发会导致卡顿,甚至整个编辑器无响应
- 空行也参与编号,且无法关闭;缩进识别不稳定,有时数字插在 Tab 中间,破坏对齐
- 命令叫
enumerate,但调用后经常把光标位置搞错,尤其在多标签页切换后
真正省心的“半自动”做法:多光标 + 方向键微调
如果就十几二十行,又不想记命令名或写正则,最顺手的方式其实是用多光标联动输数字——它不依赖版本、不装插件、不设参数,改错成本极低。
- 先用
Ctrl+Shift+L拆出所有行首光标 - 按
→或End确保光标都在行首(不是缩进中间) - 直接输入起始数字(比如
1),然后按住Ctrl+D(Windows/Linux)或Cmd+D(macOS)连续选中所有数字 - 再按
↑或↓键,所有数字同步递增/递减(Sublime 原生支持多光标数值联动) - 注意:这个操作只在数字是独立 token 时可靠;如果数字后面紧挨着字母(如
1abc),Ctrl+D会匹配整个词,得先清空再输
真正容易被忽略的点是光标初始位置——Insert Enumerated Lines 和 Insert Numbers 都不校验你是否选中了有效行,只要光标在那儿,它就插。一不小心在空段落里执行,整篇文档的结构就偏了。动手前务必确认选区干净、光标对齐、文件结尾有换行符。











