MarkdownTOC快捷键无反应是因Sublime未识别文件为Markdown格式,需确保状态栏显示“Markdown”、文件已保存为.md/.markdown、语法高亮设为Markdown(非Extended)、插件安装后重启ST4;中文标题链接失效需配置"slugify": true、"slugify_mode": "github"、"uri_encoding": false;一级标题被忽略需设"min_depth": 1;自动更新需开启"auto_reload": true和"auto_update_on_save": true,并将TOC用...包裹以精准定位。

为什么装了MarkdownTOC却按快捷键没反应
不是插件坏了,而是 Sublime 没认出当前文件是 Markdown。右下角状态栏必须显示 Markdown,不能是 Plain text 或 Markdown GFM(某些旧主题会误判)。常见原因有三个:
- 文件未保存,后缀还是
untitled;先Ctrl+S保存为.md或.markdown - 语法高亮被手动切成了其他模式,点右下角 →
Open all with current extension as→ 选Markdown(不是Markdown Extended,后者可能不触发 TOC 命令) - 插件安装后没重启 Sublime —— ST4 尤其需要重启才能加载命令面板里的
MarkdownTOC: Insert/Update
中文标题生成的链接点不开怎么办
根本问题不在 Sublime,而在锚点格式和渲染器不匹配。默认生成的 #[%E7%AE%80%E4%BB%8B] 是 URI 编码,但 GitHub、VS Code 预览、甚至部分浏览器只认短横线格式 #jian-jie。必须改配置:
- 打开
Preferences → Package Settings → MarkdownTOC → Settings – User - 填入:
{ "slugify": true, "slugify_mode": "github", "uri_encoding": false } -
"uri_encoding": false关键:它禁用 % 编码,让插件走 slugify 流程生成可读 ID
一级标题 # 被忽略,目录缺了总纲
插件默认从 ## 开始生成,# 标题直接跳过。这不是 bug,是设计默认值。要包含一级标题,必须显式设置深度下限:
- 在 User Settings 里加一行:
"min_depth": 1 - 如果只想让
###当第一级(比如文档里#和##是封面/前言,正文从###开始),就设"base_level": 3 - 注意:
"min_depth"控制“最低纳入层级”,"base_level"控制“重置层级起点”,二者作用不同,别混用
保存后目录没自动更新,还得手动 Ctrl+Shift+P
自动更新依赖两个开关同时打开:
-
"auto_reload": true(启用保存即刷新) -
"auto_update_on_save": true(部分版本叫这个名,查 Default Settings 确认字段名) - 更关键的是:光标必须停留在已有 TOC 块内(即已生成的
- [xxx](#yyy)区域),否则插件找不到目标块,只会插入新目录而非更新旧的
最稳的做法是:把 TOC 块用 ... 包裹(插件支持该标记),这样即使光标不在附近也能精准定位更新范围。











