Sublime Text 中需手动输入[TOC]并配合MarkdownPreview(parser设为github)与Markdown GFM语法才能渲染目录,缺一不可;国内需注意GitHub API访问限制。

Sublime Text 里没有原生 TOC 插件,得靠 MarkdownEditing + 自定义配置
Sublime Text 本身不提供目录(TOC)生成功能,MarkdownEditing 插件虽不自带一键插入 TOC 的命令,但它支持在文档中手动写 [TOC] 并配合 MarkdownPreview 渲染出层级目录——前提是启用对应解析器且语法设置正确。
常见错误现象:输入 [TOC] 后预览没反应、显示为纯文本、或报错 undefined command: markdown_preview。
- 必须已安装
MarkdownEditing和MarkdownPreview(二者缺一不可) - 当前文件语法必须设为
Markdown GFM(右下角点击 →MarkdownEditing→Markdown GFM) -
MarkdownPreview需启用 GitHub 解析器:在Preferences → Package Settings → Markdown Preview → Settings – User中添加:{"parser": "github"} - 确保文档中已有至少两级标题(如
# 标题和## 子标题),否则[TOC]不会生成内容
为什么 [TOC] 在浏览器预览里不显示?检查 parser 和网络
[TOC] 是 GitHub Flavored Markdown(GFM)的扩展语法,MarkdownPreview 默认用本地 markdown 解析器,它根本不认识 [TOC] —— 必须切到 github 解析器,且该模式依赖 GitHub API。
容易踩的坑:
- 装了插件但没改
parser,Settings – User 里仍是默认的"parser": "markdown" - 国内网络无法访问
api.github.com,导致预览空白或加载超时(错误信息类似HTTP Error 403: Forbidden或控制台报Failed to fetch) - 误以为
[TOC]是自动插入的命令——它只是占位符,需手动键入,然后保存再预览 - 用了
OmniMarkupPreviewer等替代插件,但它的[TOC]支持不稳定,甚至完全不识别
想真正“一键生成 TOC”?别指望插件,用快捷键+正则临时补救
目前没有稳定、维护活跃的 Sublime 插件能像 VS Code 的 Markdown All in One 那样一键生成并同步更新 TOC。所谓“目录生成”,实际是靠人写结构、插件渲染呈现。
实现 Markdown↔ HTML 互转,支持导出 PDF,用于用户请求的文档格式转换。
如果你坚持要“插入”而非“占位”,可手动操作:
- 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),输入MarkdownEditing: Insert TOC—— 仅部分旧版MarkdownEditing提供此命令,新版已移除 - 更可靠的做法:用正则批量提取标题,例如搜索
^##\s+(.*)$(匹配二级标题),替换为- [\1](#\L$1),再手动整理成列表(注意链接锚点需转小写、去标点) - 导出 HTML 后用浏览器开发者工具复制生成的目录 HTML,粘回 Sublime 当静态 TOC(不随原文更新)
别被“目录插件”误导,重点盯住 parser 和语法绑定
搜 “Sublime TOC plugin” 容易装到过时或无人维护的项目,比如 TableOfContents 或 MarkdownTOC,它们要么只支持老版本 Sublime,要么依赖 Python 2 已失效。2026 年仍在可靠工作的路径只有一条:确认 MarkdownPreview 的 parser 是 github,且文件语法是 Markdown GFM,然后手写 [TOC]。
最容易被忽略的点:即使装了所有插件,只要右下角显示的是 Markdown(不是 Markdown GFM),[TOC] 就不会生效——这个点击切换动作,比装插件还关键。










