sublime text 的“实时预览”并非真正实时,因其无内嵌渲染引擎,markdownpreview 插件仅将文件转为 html 并通过浏览器打开 file:// 页面,不监听变化、不启服务,需手动首次预览建立上下文,且 enable_autoreload 已废弃;刷新依赖外部工具链或浏览器扩展协同。

为什么“实时预览”在 Sublime 里永远不是真实时
Sublime Text 没有内嵌 HTML 渲染引擎,所谓“实时”,本质是 MarkdownPreview 插件把当前文件转成 HTML,再用浏览器打开或刷新一个 file:// 页面。它不监听文件变化,也不启动本地服务——所以没有真正的热重载。
常见错误现象:保存后页面没变、F5 手动刷新才更新、改完标题点了保存却还显示旧内容。
- 首次必须手动执行
Markdown Preview: Preview in Browser,之后保存才会触发刷新(插件靠这个建立监听上下文) - 浏览器地址栏必须是
file:///...开头;如果看到http://localhost:xxxx或含中文路径,自动刷新大概率失效 -
enable_autoreload已在新版MarkdownPreview中废弃,写进配置反而禁用刷新逻辑
怎么让 Ctrl+S 真的“立刻看到效果”
靠插件本身做不到,但可以加一层轻量工具链:用 marked 命令行工具监听文件 + live-server 自动刷新,绕过插件限制。
使用场景:技术文档写作中频繁调整表格对齐、代码块缩进、目录层级,需要秒级反馈。
- 安装依赖:
npm install -g marked live-server - 写个简单脚本(比如
watch-md.sh):#!/bin/bash<br>marked -o index.html README.md && live-server --port=8080 --no-browser
- 每次保存
.md后,脚本重新生成index.html,live-server检测到变更就推送到浏览器 - 注意:不要把输出 HTML 放在项目根目录,避免和源文件混在一起;建议统一输出到
./docs/
语法识别错位导致预览完全不触发
90% 的“装了插件但右键没菜单、快捷键无效”问题,根源都在右下角状态栏显示的语法类型不对。
通过 jina.ai 将网页抓取为精简的 markdown,用于在需要获取 URL 并获取压缩的 markdown 内容以节省 token。触发词 l...
验证方式:打开一个 readme.md,看右下角是否写着 Markdown ——不是 Plain text,也不是 Markdown GFM 或 MultiMarkdown。
- 点右下角文字 → 搜索
Markdown→ 选中标准Markdown(来自MarkdownEditing或 Sublime 自带语法包) - 设为默认:
View → Syntax → Open all with current extension as… → Markdown - 未保存的临时文件(如
untitled)永远无法触发预览,务必先Ctrl+S保存为.md后缀 - 如果装了多个 Markdown 相关插件(比如同时有
MarkdownPreview和OmniMarkupPreviewer),卸载后者——它们会互相劫持命令作用域
哪些渲染效果本来就不该指望它显示
MarkdownPreview 默认用 CommonMark + GitHub Flavored Markdown 子集解析,不是 Typora 或 Obsidian 的富渲染引擎。
容易被误认为“bug”的预期行为:
-
<details><summary>折叠块</summary>内容</details>不渲染——HTML 标签白名单极窄 - 自定义 CSS 类名(如
<div class="note">...)被过滤,只保留语义化标签 <li>表格对齐符号(<code>:-/-:/:-:)可能失效,GFM 表格解析不稳定 - 数学公式需显式开启
mathjax_enabled: true,且依赖 CDN 加载,离线环境不工作
技术文档写作时,别在预览阶段纠结这些;先把语义结构写对,导出 HTML 后再用定制模板补样式。










