markdowntoc 是 sublime text 中最稳定、可配置性最强的 markdown 目录生成方案,需精确安装插件、配置 slugify 为 github 模式并设 base_level,否则中文标题链接失效或层级错乱。

Sublime Text 本身不支持 Markdown 目录自动生成,MarkdownTOC 是目前最稳定、可配置性最强的方案,但必须手动安装、正确设置 slugify 和 base_level,否则中文标题链接会失效或层级错乱。
怎么装对 MarkdownTOC 插件(别被名字坑)
装错名字是失败的第一原因——不是 MarkdownToc、AutoTOC 或 Table of Contents(那是另一个插件),必须精确匹配作者 jonschlinkert 维护的 MarkdownTOC:
- 打开命令面板:
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入
Package Control: Install Package回车 - 等待列表加载完成,搜索并选择
MarkdownTOC(注意大小写和拼写) - 安装后务必重启 Sublime Text,否则命令不可见
为什么生成的目录点不开?关键在 slugify 配置
默认情况下,MarkdownTOC 对中文标题生成的是 URI 编码 ID(如 #%E9%85%8D%E7%BD%AE),但 GitHub/GitLab/浏览器预览器只认短横线格式(如 #pei-zhi)。不配 slugify,链接就等于废的:
- 进入
Preferences → Package Settings → MarkdownTOC → Settings – User - 粘贴以下内容(不要动 Default 文件):
{
"slugify": true,
"slugify_mode": "github",
"auto_reload": true,
"base_level": 2
}
"base_level": 2 表示从 ## 开始作为一级目录;若文档以 # 为主,想包含它,需改为 "min_depth": 1(注意:这是 Table of Contents 插件的参数,MarkdownTOC 用的是 "depth",设为 6 即可覆盖全部)
使用 markitdown 将文档和文件转换为 Markdown。适用于转换 PDF、Word (.docx)、PowerPoint (.pptx)、Excel (.xlsx, .xls)、HTML、CSV、JSON、XML 等格式。
插入和更新目录的正确姿势
插件不会自动插入,也不会监听编辑实时刷新(除非你开了 auto_reload 并保存文件):
- 确保当前文件是
.md后缀,且右下角状态栏显示Markdown(不是Plain text) - 把光标放在想插入目录的位置(通常是文档最顶部或
# 标题下方) - 再开命令面板,输入
MarkdownTOC: Insert/Update回车 - 改完标题后,只需按原快捷键或再次调用该命令即可更新——不用删旧目录再重插
中文标题 ID 不一致?检查渲染器是否同步转义
即使 MarkdownTOC 生成了 #jian-jie,如果你用 MarkdownPreview 预览时跳转失败,大概率是它的解析规则没对齐:
-
MarkdownPreview默认也启用github模式 slugify,但某些旧版本或自定义 parser 可能关了 - 检查
Preferences → Package Settings → Markdown Preview → Settings – User是否含"enable_automatic_title_ids": true - 避免混用
OmniMarkupPreviewer:它不保证 ID 生成逻辑与MarkdownTOC一致,容易导致锚点错位
真正麻烦的从来不是装插件,而是两套 slugify 规则在不同环节各自为政——一个用 github 模式,另一个用 default 或关闭,结果就是链接看着对,点下去却 404。










