text pastry插件需通过package control安装:ctrl+shift+p→输入package control: install package→搜索text pastry→点击安装;使用时选中多行→ctrl+shift+p→text pastry: insert numbers或insert text→按提示输入数字范围或粘贴对应文本即可批量插入差异化内容。

Text Pastry插件怎么装和用最稳
原生 Sublime 不支持“每行加不同内容”,必须靠插件。Text Pastry 是目前最轻量、兼容 Sublime 4、不拖慢响应的方案,不是“可选”,是刚需。
安装步骤极简:Ctrl+Shift+P → 输入 Package Control: Install Package → 回车 → 搜 Text Pastry → 点击安装。别装错成 “Text Paster” 或 “Pastry Text”——名字差一个词就失效。
装完不用重启,直接生效。关键操作路径固定:
- 选中目标多行(可以含空行,它会跳过)
-
Ctrl+Shift+P→ 输入Text Pastry: Insert Numbers→ 回车 → 默认从 1 开始递增,输100就从 100 起;想补前导零?输001 - 要插自定义文本(比如
apple、banana、cherry),选中行后Ctrl+Shift+P→Text Pastry: Insert Text→ 粘贴多行文本(每行一个值),回车即一一对应插入
注意:Text Pastry: Insert Text 会严格按粘贴顺序匹配选中行顺序,不按视觉位置、不跳过缩进、不误判空格。但若你选了 5 行却只粘了 3 行文本,它只会插前 3 行,后 2 行不动——不会报错,也不会循环填充。
为什么不能用正则或原生命令实现差异化前缀
正则替换本质是「模式匹配 + 统一替换」,^ 和 $ 都不携带行号上下文,没法让第 1 行插 id、第 2 行插 name。强行写 ^(? 这类“行号锚点”在 Sublime 正则里不被支持,且不可读、不可维护。
原生命令如 Insert Text at Beginning of Line 只接受单个字符串输入,没有“按行索引动态生成”的能力。哪怕你用 Ctrl+Shift+L 拆出 100 个光标,输入时所有光标仍打同一串字符。
有人试过用宏录制 + 多次 Ctrl+Shift+L + 手动改,结果光标错位、漏行、中途 Esc 清空全部——这不是技巧问题,是机制限制。Sublime 的多光标设计初衷就是“同步操作”,不是“差异化注入”。
Text Pastry 常见翻车点和绕过法
它不处理跨文件批量,仅限当前视图;也不支持表达式计算(比如 row * 2 + 1)。但多数真实场景其实只需要“列表对齐”或“序号补全”,这些它都稳。
容易踩的坑:
- 选中行数 ≠ 粘贴文本行数:少粘了,后面几行没变化;多粘了,多余行被忽略。建议先
Ctrl+C复制目标文本,再Ctrl+V粘到临时 buffer 数行数,再执行 - 缩进不一致时,插入内容会紧贴行首,不自动对齐已有缩进。如果需要保留原始缩进,得先用
Ctrl+Shift+P→Indentation: Reindent统一,再操作 - macOS 上
Cmd+Shift+P若被系统拦截,改用Ctrl+Shift+P同样有效(Sublime 默认兼容双键绑定) - 插完立刻检查:状态栏右下角不显示
x cursors提示,说明部分光标已丢失——此时别 Ctrl+Z,先重选再重插
比 Text Pastry 更重的替代方案值得上吗
如果你真需要每行跑 JS 表达式生成前缀(比如 new Date().getTime() + '_' + Math.random()),那 Text Pastry 不够用。此时有两个现实选项:
- 用 Sublime 自带的
Ctrl+H正则 +Python Script插件:写个脚本读取当前选区、逐行生成字符串、再替换。但要装插件、写代码、调试编码,对非程序员成本太高 - 导出为 CSV / TXT → 用 VS Code 或 Python 处理 → 再粘回来:适合千行以上、逻辑复杂、且允许离线操作的场景。但破坏编辑流,容易漏改、难回溯
绝大多数情况,“不同前缀”就是列表项、字段名、测试用例编号这类静态序列。Text Pastry 插完即走,不残留配置、不改快捷键、不拖慢启动——它的价值不在功能多,而在刚好够用且不出错。











