TextPastry已停止维护且不兼容Sublime Text 4,推荐使用专为ST4重构的InsertNums插件;它支持多光标、列模式、负步长,需严格按顺序操作并注意光标位置与格式输入。

TextPastry插件根本没在Sublime Text里生效?
不是你装错了,是它早就不维护了。TextPastry最后一次更新停留在2018年,与Sublime Text 4(2021年发布)存在兼容性断裂——尤其在Python API层,sublime.View.run_command调用方式变更后,TextPastry的insert_sequence命令会静默失败,不报错、不弹窗、也不插数。
常见现象:按Ctrl+Alt+N或从命令面板选TextPastry: Insert Sequence,光标闪一下就没了,多行光标还在,但什么都没发生。这不是配置问题,是插件代码已无法被当前Sublime加载执行。
如果你看到Package Control里还能搜到TextPastry,那只是缓存残留;实际安装后Preferences → Package Settings里根本不会出现它的菜单项。
InsertNums才是现在真正能用的序列插入方案
它专为Sublime Text 4重构过,直接调用view.insert和view.sel()现代API,支持多光标、列模式、负步长,且参数解析健壮。安装后命令名是InsertNums: Insert Numbers,不是Insert Number或Insert Sequence。
关键操作链路必须严格按顺序来:
- 先用
Ctrl+Shift+L(Windows/Linux)或Cmd+Shift+L(macOS)把每行开头转成独立光标 - 或用
Ctrl+Alt+↓(Windows/Linux)/Cmd+Option+↓(macOS)生成列式多光标 - 再按
Ctrl+Shift+P→ 输入InsertNums: Insert Numbers→ 回车 - 输入框里填
100 5(空格分隔),不是100,5或100:5;填错格式只会插一个数
注意:InsertNums只在光标位置插入,不会覆盖已有字符。如果光标在行中,数字就插在中间;想插行首,得先按Home把所有光标移到行首。
为什么原生Insert Sequence命令有时只插重复数字?
Sublime原生命令Insert Sequence(不是InsertNums)本身没问题,但行为极依赖光标对齐状态。它不按“行号”计数,而是按“光标序号”:第1个光标插起始值,第2个光标插起始值+步长,以此类推。
容易踩坑的场景:
- 用
Ctrl+D多次选中相同单词后执行Insert Sequence→ 所有光标都插同一个起始值(因为Sublime认为这是单次插入请求) - 光标分布在不同列(比如第1行末尾、第2行中间、第3行开头)→ 它仍按1、2、3顺序插,但视觉上像乱序
- 没手动创建多光标,只在单行按命令 → 它真就只插一个数字,不提示、不报错
这个命令不支持格式化(如001),补零必须后续用正则Find: ^(\d)$ → Replace: 00$1处理。
列模式下插入递增数字,必须关掉“自动换行”
列模式(Shift+Alt+鼠标拖动或Ctrl+Alt+方向键)本质是矩形选区。如果文档开启了word_wrap: true,Sublime会把长行折成多行显示,导致列选区跨物理行,InsertNums或原生命令都会误判光标数量,插出错位或缺失的数字。
验证方法:打开一个含长文本的文件 → 开启View → Word Wrap → 尝试列选3行 → 执行InsertNums → 数字可能只出现在前两行,或第3行插在折行后的第二段。
临时解决:执行前确认状态栏右下角没有Wrap字样;或者快捷键Alt+Z强制关闭自动换行。这不是bug,是Sublime对“列”的定义基于物理行,而非视觉行。


















