MarkdownPreview插件需手动禁用Sublime自带Markdown包、保存为.md/.markdown文件、配置python_binary路径及preview_theme才能正常预览;未保存、后缀错误、语法未识别或Python编码问题会导致空白页或乱码。

Sublime Text 本身不内置 Markdown 实时预览功能,MarkdownPreview 是最稳定、适配性最强的第三方插件,但它的安装和配置有几个关键点必须手动干预,否则容易出现「点击预览没反应」「打开空白页」「中文乱码」或「用的是旧版 Python 解析器导致渲染失败」等问题。
用 Package Control 安装但必须禁用自带 markdown 插件
Sublime 默认带一个叫 Markdown 的语法高亮包(仅高亮,不预览),但它会和 MarkdownPreview 冲突,尤其在 macOS 或某些 Windows 环境下导致右键菜单不显示「Preview in Browser」选项。
- 先通过
Cmd+Shift+P(macOS)或Ctrl+Shift+P(Windows/Linux)调出命令面板,输入Package Control: Install Package回车 - 搜索并安装
MarkdownPreview - 再打开
Preferences → Package Settings → Markdown → Settings – User,把整个文件内容替换成:{ "ignored_packages": ["Markdown"] } - 重启 Sublime Text,否则改动不生效
预览前必须保存文件且后缀为 .md 或 .markdown
MarkdownPreview 不支持未保存的临时文件预览,也不会识别 .txt 或无后缀文件,即使内容是标准 Markdown。它依赖 Sublime 的语法检测机制判断当前视图是否为 Markdown。
- 务必先执行
Cmd+S(或Ctrl+S)保存文件 - 文件名必须含
.md或.markdown后缀(大小写敏感,.MD在部分系统下无效) - 如果已保存但仍无法预览,右键检查底部状态栏是否显示
Markdown—— 若显示Plain text,需手动点击状态栏语言名,选择Markdown
中文路径/文件名导致浏览器打开空白页?改用 python_binary 配置
Windows 用户常见问题:点击预览后浏览器弹出空白页,控制台报错类似 UnicodeEncodeError: 'gbk' codec can't encode character。这是因为插件默认调用系统 Python(如 Python 2.7 或旧版 Python 3.x),对中文路径处理不兼容。
- 打开
Preferences → Package Settings → MarkdownPreview → Settings – User - 填入以下配置(路径按你本地 Python 安装位置调整):
{ "python_binary": "C:/Users/YourName/AppData/Local/Programs/Python/Python39/python.exe", "enable_autoreload": true } - 推荐使用 Python 3.7+,避免 Python 2 兼容性问题;若没装 Python,可直接用 Sublime 自带的 Python(路径通常为
sublime_text_dir/Packages/MarkdownPreview/libs/python37/python.exe,需确认存在)
预览样式难看?别动 default.css,改 preview_theme
很多人想美化输出效果,直接去改 MarkdownPreview/css/default.css,结果升级插件后被覆盖。正确做法是用插件提供的主题机制,不侵入源码。
- 新建目录:
Packages/User/MarkdownPreview/css/(Packages可通过Preferences → Browse Packages…进入) - 在里面放一个自定义 CSS 文件,比如
my-theme.css - 在
Settings – User中添加:{ "preview_theme": "my-theme.css" } - 注意:
preview_theme值只写文件名,不带路径和.css后缀;文件编码必须为 UTF-8 无 BOM
真正卡住人的往往不是“怎么装”,而是「装完没反应」时不知道该查哪一层——是文件没保存?后缀不对?语法没切对?还是 Python 路径崩了?每一步都有明确信号(状态栏语言、控制台错误、浏览器地址栏 URL 是否含 file://),盯着这些比重装插件更省时间。










