真正稳定可用的是 MarkdownLivePreview 插件,安装后按 Ctrl+Alt+P 可实时预览,支持中文锚点跳转;导出 PDF 需用 xelatex 引擎并声明中文字体;.sublime-project 不应提交至 Git;Mermaid 图表需借助外部工具渲染。

Sublime 里写 Markdown 文档,别装 Markdown Preview 插件
它早就不维护了,装上后 Ctrl+Shift+P 调不出预览,还可能和 mdpopups 冲突报错 ImportError: No module named 'mdpopups'。真正稳定可用的是 MarkdownLivePreview —— 它不依赖 Python 3.3+ 的旧运行时,也不改 Sublime 自带的渲染逻辑。
安装方式很简单:Ctrl+Shift+P → 输入 Package Control: Install Package → 搜 MarkdownLivePreview 回车。装完打开一个 .md 文件,按 Ctrl+Alt+P 就能唤出实时预览窗口。
- 预览窗口默认用系统默认浏览器打开,不是内嵌窗;如需内嵌,得额外配
markdown_preview(但会重回兼容性坑) - 它对中文标题锚点支持正常,
## 中文标题点链接能跳转,不像某些插件生成#%E4%B8%AD%E6%96%87后乱码 - 不解析 HTML 标签,比如
<details></details>或<div class="note"> 会被原样显示,这不是 bug,是设计使然<h3>用 Pandoc 导出 PDF 时字体中文全变成方块</h3> <p>根本原因是 Pandoc 默认调的 LaTeX 引擎(pdfTeX)压根不认系统中文字体。直接跑 <code>pandoc doc.md -o doc.pdf必现方块,不是 Sublime 配置问题,是命令链路缺字体声明。解决办法是加一个 YAML 元数据头,在文档最开头插入:
--- mainfont: "Noto Sans CJK SC" geometry: margin=1in ---
然后用这个命令导出:
pandoc doc.md -o doc.pdf --pdf-engine=xelatex
-
xelatex才支持 TrueType 字体,pdflatex不行 -
Noto Sans CJK SC是 macOS / Linux 常见字体名,Windows 用户请换为"Microsoft YaHei"并确认系统已安装 - 如果仍报
Font not found,用fc-list :lang=zh查看系统实际注册的中文字体名,注意空格和引号
Sublime 自动保存 + Git 提交时,
.sublime-project该不该进仓库不该。这个文件存的是你本地的折叠状态、光标位置、已开标签页这些私人信息,一提交就容易和同事的编辑状态打架,
git status总飘红,还可能把临时路径(比如C:\Users\Alice\...)一起推上去。正确做法是全局忽略:
- 在 Sublime 里打开
Preferences → Settings – User,加一行:"save_on_focus_lost": true,让编辑器自动保存,减少手动Ctrl+S需求 - 在项目根目录的
.gitignore里加:*.sublime-project和*.sublime-workspace - 如果已有误提交,运行:
git rm --cached *.sublime-project *.sublime-workspace,再 commit
想用 Sublime 写带 Mermaid 图表的文档,但预览不渲染
因为 Mermaid 是 JavaScript 渲染的,而
MarkdownLivePreview输出的是纯静态 HTML,没加载 Mermaid JS 库,也没初始化mermaid.initialize()。不是插件不行,是它本来就没这功能。有两个务实选择:
- 导出时处理:用
pandoc+mermaid-cli,先把```mermaid块转成 PNG,再嵌入 PDF/HTML,适合最终交付 - 编辑时妥协:在 Sublime 里把 Mermaid 代码块当普通代码看,靠注释写清意图,比如
<!-- seq: User -> Server: login -->,真图交给专门的 Mermaid 编辑器(如 mermaid.live)补全 - 硬上 JS 渲染?可以改
MarkdownLivePreview的模板 HTML,但每次插件更新都会被覆盖,维护成本高,不推荐
Mermaid 的语法校验和缩进敏感性,比 Markdown 本身还容易出错——一个漏掉的空行或错位的
indent,预览里就只剩白板。这点没法绕过去,只能边写边在 mermaid.live 里粘贴验证。 -

















