Sublime Text 批量处理 CSV 需放弃“当 Excel 用”预期,所有操作基于字符位置与正则匹配;字段含引号内逗号、换行或中文时易失败;乱码需手动设置编码并固化;大文件卡死应调 large_file_threshold;列编辑优先用 Alt+拖选而非 Ctrl+D;对齐推荐 AlignTab 配合正则预处理;超复杂 CSV 应切换至 pandas 或 csvkit。

Sublime Text 能批量处理 CSV,但必须放弃“它能当 Excel 用”的预期——所有操作都基于字符位置和正则匹配,不是语义解析。字段含引号内逗号、换行或中文时,硬套表格逻辑,90% 的失败都源于此。
CSV 打不开或中文乱码?先改语法绑定和编码
右下角显示 Plain Text 就说明语法没生效;中文变问号、字段粘连,基本是编码不匹配。
- 点击右下角语言标识 →
Open all with current extension as…→ 选CSV,之后所有.csv文件自动启用基础高亮 - 乱码时点右下角当前编码(如
UTF-8)→Reopen with Encoding→ 依次试UTF-8 with BOM、GBK、Windows-1252 - 确认正确后,再点右下角编码名 →
Save with Encoding,固化编码,避免下次又乱
大文件卡死?调 large_file_threshold 跳过语法高亮
超过 10MB 的 CSV 容易无响应,这不是插件问题,是 Sublime 主动限制语法分析的保护机制。
Miller (mlr) 是一个命令行工具,用于查询、整形和重新格式化名称索引数据,如 CSV、TSV、JSON 和 JSON Lines。它将 awk、sed、cut、join 和 sort 的功能整合到一个专为结构化数据处理而构建的单一工具中。
- 打开
Preferences → Settings - 在右侧用户设置中加一行:
"large_file_threshold": 10485760(即 10MB) - 保存后重启,文件会以纯文本模式加载,响应速度恢复,但失去高亮和列感知
批量改某列内容?用 Alt+拖选列编辑,别用 Ctrl+D
Ctrl+D 是按字面匹配,容易误中注释、字符串或字段子串;列编辑靠的是矩形光标定位,可控性高得多。
- 按住
Alt(Win/Linux)或Option+Shift(macOS),鼠标垂直拖选目标列区域,松开即生成多光标 - 输入内容,所有行该列位置同步更新;按
Delete或Backspace会删掉该列所有字符(含空格,可能破坏对齐) - 必须用等宽字体(如
Fira Code、Consolas),且关闭View → Word Wrap,否则光标偏移 - 字段含中文?列编辑会错位(中文字宽 ≠ ASCII),此时应先用正则把中文字段统一替换为英文占位符,操作完再换回
对齐成“伪表格”?AlignTab + 正则预处理是标配
AlignTab 不解析 CSV 逻辑,只按指定字符(如 ,)插入空格拉齐视觉列。字段带引号、逗号或换行时,直接对齐必错。
- 先用正则跳过引号内逗号:
Ctrl+H→ 开启正则 → 查找,(?=(?:[^"]*"[^"]*")*[^"]*$)→ 替换为,(逗号+空格) - 全文件替换后,选中内容 →
Ctrl+Shift+P→ 输入AlignTab: Align On→ 回车 → 输入,(注意有空格) - 装完
AlignTab没命令?必须完全退出 Sublime 再重开;触发时若输入法是中文,会把,当全角逗号,导致失效 - 对齐后列宽爆炸?开启
View → Word Wrap或调小字体;导出 Markdown 表格时,在对齐结果上下手动加|和---|---|---行即可
真正脏或超大的 CSV(比如含嵌套引号、跨行字段、百万行),Sublime 的文本逻辑会迅速触顶——这时候别硬调正则,切到 pandas 或 csvkit 更省时间。工具链的边界,比快捷键更重要。

















