Sublime Text 不支持专门的打印配色方案,打印效果取决于导出方式而非编辑器主题;真正可控的是通过 ExportHtml 插件注入 @media print CSS,强制白底黑字、去除背景以实现可打印效果。

你看到的打印效果,完全取决于当前 color_scheme 中定义的背景色、文字色、边框、高亮等样式是否适合打印(比如深色背景 + 浅色字,在纸质上就是一片黑),以及你用什么方式“输出”:是截图?复制粘贴到 Word?还是用插件导出 HTML/PDF?每种路径走的是完全不同的渲染逻辑。
为什么改了 background 和 foreground,打印出来还是糊成一团?
因为 Sublime 的 .tmTheme 文件只控制编辑器内的显示,不生成任何 CSS 或打印媒体查询。当你点击「文件 → 打印」,Windows/macOS 调用的是系统原生打印对话框,它直接抓取当前窗口像素——深色主题下,背景是 #1e1e1e,文字是 #d4d4d4,打出来就是灰底灰字,对比度极低,根本没法读。
- 真正能影响打印效果的,只有你最终导出的格式:HTML(可加自定义
@media print)、PDF(依赖插件渲染质量)、或截图(纯像素,无样式干预) - Sublime 自带的「导出为 HTML」功能(
File → Export HTML)会把当前color_scheme转成内联 style,但它**不区分屏幕/打印媒介**,不会自动降噪、去背景、转黑白 - 如果你用插件如
ExportHtml,它支持模板和 CSS 注入,这才是唯一能干预“打印样式”的入口
怎么让导出的 HTML / PDF 看起来像“可打印”?
核心思路不是改 Sublime 主题,而是绕过它,用 HTML 导出 + 定制 CSS 强制适配打印场景。以 ExportHtml 插件为例(需先通过 Package Control 安装):
- 导出前,在 Sublime 中确保代码已按你想要的语法高亮显示(比如用了
Dracula.tmTheme) - 执行
Ctrl+Shift+P→ 输入ExportHtml: Configure,编辑模板,在<head>里加一段:@media print { body { background: #fff !important; } .highlight { background: #fff !important; } pre, code { color: #000 !important; font-size: 10pt; } .line-number { color: #999 !important; } } - 再运行
ExportHtml: Export,生成的 HTML 在浏览器中按Ctrl+P打印,就能得到白底黑字、无冗余装饰的干净稿
有没有更轻量的替代方案?
有,但得接受妥协:不追求“所见即所得”,而是用最简路径获得可读文本。
- 选中代码 →
Ctrl+Shift+P→Copy as HTML(部分插件提供),粘贴到支持富文本的编辑器(如 Typora、Word),再手动设为白底黑字 - 用系统截图工具(
Snip & Sketch/Cmd+Shift+4)截单屏,裁掉侧边栏/标签页,用画图工具批量去背景色(适合少量片段) - 彻底放弃颜色:全选 →
Ctrl+C→ 粘贴到纯文本编辑器(如记事本),再复制进 Word,用 Word 的「设计 → 页面颜色 → 无颜色」+「字体 → 黑色」搞定基础可读性
真正麻烦的从来不是“怎么设置”,而是 Sublime 根本没把打印当一等公民来设计。所有所谓“打印配色”,都是借路 HTML、截图或外部工具完成的补丁。如果你经常要交打印稿,建议把导出环节标准化:固定用 ExportHtml + 同一套 print CSS,而不是反复折腾 .tmTheme 里的 background 值。


















