sublime text 需安装 markdowntoc 插件并配置 "auto_reload": true 才能在保存时自动更新 markdown 目录,但非实时监听;须先确认 package control 就绪、安装 markdownediting 识别语法、严格按大小写输入 markdowntoc 安装、重启编辑器,并在 settings–user 中配置 auto_reload、slugify 等参数方可正常使用。

Sublime Text 本身不支持自动更新 Markdown 目录,必须装 MarkdownTOC 插件并手动配置 "auto_reload": true 才能实现保存时刷新目录——但这个“自动”只在你保存文件时触发,不是实时监听编辑。
怎么确认 Package Control 已就绪再装插件
没装好 Package Control,后面所有插件都白装。按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入 Package Control: Install Package 能响应才算成功。如果搜不到:
- 先调出控制台(
Ctrl+`),粘贴官方 Python 安装脚本执行 - 执行完必须重启 Sublime,否则插件管理器不加载
- 重启后右下角状态栏仍显示
Plain text?说明语法没识别,得先装MarkdownEditing插件
装对插件名:不是 MarkdownToc,也不是 AutoTOC
在命令面板里搜 Install Package 后,输入的关键词必须是 MarkdownTOC(作者 jonschlinkert,大小写敏感)。常见失败原因:
- 搜
toc装了AutoTOC或Markdown Toc(少一个大写 O),功能不兼容 - 装完不重启 Sublime,导致命令不可用(比如
MarkdownTOC: Insert/Update不出现) - 文件没保存为
.md后缀,或右下角没显示Markdown语法标识,插件直接禁用
配置 auto_reload 和 slugify 才能真用起来
默认安装后目录不会自动更新,必须改 User 设置。路径:Preferences → Package Settings → MarkdownTOC → Settings – User,填入:
将 Markdown 格式的回复转换为适合 Telegram 的富文本,避免渲染错误。适用于用户偏好 Markdown 但目标平台为 Telegram 的场景。
{
"auto_reload": true,
"slugify": true,
"slugify_mode": "github",
"base_level": 2
}
关键点:
-
"auto_reload": true表示每次保存文件时自动重生成目录,但不会监听光标移动或按键——改完标题必须Ctrl+S -
"slugify": true让中文标题转成jian-jie这种格式,比默认 URI 编码(%E7%AE%80%E4%BB%8B)兼容性好得多,GitHub、Typora、Obsidian 都认 -
"base_level": 2意思是把##当一级标题处理;如果文档从###开始,就得设成3,否则目录层级错乱
为什么点了 Insert/Update 还是空列表或链接失效
这不是插件坏了,而是标题解析被干扰了:
- 标题行末尾有空格、全角空格、不可见 Unicode 字符(比如
\u200b),MarkdownTOC会跳过该行 - 用了
## 标题 {#custom-id}这类自定义锚点,但没开"use_custom_id": true,插件就忽略它 - 目录插入位置不对:光标必须放在纯文本区域,不能在代码块、引用块或 HTML 标签内
- 预览时链接点不开?那是渲染器问题,不是目录生成错——浏览器对锚点 ID 的解码规则和插件生成方式不一致,优先用
slugify+github模式保底
最常被忽略的一点:插件只管生成,不管样式。如果你希望目录带序号、缩进或图标,得额外配 "style": "ordered" 或配合 Markdown Numbered Headers 插件,MarkdownTOC 自身不提供 CSS 控制能力。










