最稳路径是用正则$替换为,,它匹配每行末尾位置、不破坏换行结构;但需先统一换行符为Unix格式,并手动或二次正则清理末尾多余逗号。

用 $ 正则替换在每行末尾加逗号最稳
Sublime 没有“批量行尾插入”内置命令,靠手动或列选极易漏行、错位。直接用正则 $ 匹配行尾位置,再替换成 ,,是唯一能覆盖所有行且不破坏换行结构的方法。
操作步骤:
- 按
Ctrl+H(Win/Linux)或Cmd+H(macOS)打开替换面板 - 勾选右下角
.*(启用正则模式) - “Find What” 输入:
$ - “Replace With” 输入:
, - 点 “Replace All”
注意:$ 匹配的是“行尾位置”,不是换行符本身,所以不会吞掉换行;但如果文件最后一行没结尾换行符,$ 仍会匹配它,导致末尾多一个逗号——这需要单独处理。
多光标加逗号只适合干净小数据(≤50 行)
按 Ctrl+Shift+L(Win/Linux)或 Cmd+Shift+L(macOS)后,光标落在每行末尾,此时输入 , 看似快,但实际限制极多:
- 必须先执行
Ctrl+Shift+P→ “Trim Trailing White Space”,否则光标可能停在空格后,变成item , - 行尾若有制表符或混合空白,
End键无法准确定位到换行符前 - 最后一行不能自动跳过——你得手动删掉它后面的逗号,JSON/Python tuple 里多一个逗号就语法报错
- 超过 50 行时,Sublime 响应变慢,光标容易错位或丢失
真要用多光标,建议分两步:先统一加引号("),再用正则 $ → ", 补逗号,避免手动定位误差。
生成 JSON 数组时,最后一行逗号必须人工或二次清理
正则 $ → , 不区分“中间行”和“最后一行”,它对所有行一视同仁。而 JSON 数组要求末尾不能有逗号,否则解析失败。
稳妥做法有两种:
- 替换完后,手动删最后一行末尾的
,(适合行数少、肉眼可辨) - 后续再跑一次正则:
,\s*(?=})或,\s*$→ 空,专门清理末尾逗号(注意勾选.*和Regular expression)
别指望正则自己识别“最后一行”——Sublime 的正则引擎没有行号上下文,$ 就是每行都匹配,仅此而已。
混合换行符(\r\n 和 \n)会导致部分行漏加逗号
Windows 复制的文本常含 \r\n,而 Sublime 在某些正则模式下对 $ 的行为不一致,尤其关闭 “Wrap around” 时,\r\n 后的行可能被跳过。
解决方法很简单:
- 先按
Ctrl+Shift+P→ 输入 “Set Line Endings: Unix”,强制统一为\n - 再执行
$→,替换
这一步常被忽略,但它是批量操作不出错的前提——尤其处理从 Excel、数据库导出的原始数据时。

















