Sublime Text 无默认全局“一键展开所有折叠”快捷键;Ctrl+K Ctrl+J 仅展开当前视图且受语法识别、插件冲突、region 注释支持及文件大小限制;可靠方式是命令面板执行 Unfold All,或设为自定义快捷键(如 ctrl+alt+j)并确保语法正确识别。

Sublime Text 里没有全局“一键展开所有折叠”的默认快捷键,但能用命令快速实现——关键是别误以为 Ctrl+K Ctrl+J 是万能解法,它只展开当前视图的全部折叠,且对某些语法(比如 JSX、Vue 单文件组件)可能失效。
为什么 Ctrl+K Ctrl+J 有时不生效
这个组合键调用的是 unfold_all 命令,但它依赖当前视图的折叠范围是否被正确识别。常见失效场景包括:
- 文件未被 Sublime 正确识别为对应语言(比如 .ts 文件没设成 TypeScript 语法,折叠逻辑缺失)
- 使用了第三方折叠插件(如
BracketHighlighter或CodeFolding),覆盖了原生行为 - 折叠是由代码注释(如
// #region)触发的,而 Sublime 默认不支持该风格,需额外配置fold_regions - 文件过大(>10MB)时,Sublime 会自动禁用折叠以保响应速度
真正可靠的展开方式:用命令面板手动触发
绕过快捷键冲突和语法识别问题,直接走命令流最稳:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入
unfold all,选择Unfold All命令(注意不是Unfold Tag或Unfold Function) - 如果没出现,说明当前语法不支持全展开——此时可临时切到纯文本模式:
Ctrl+Shift+P→ 输入Set Syntax: Plain Text→ 再试Unfold All,折叠会按行号强制清除
想永久绑定一个真正有效的快捷键?改用户键绑
默认快捷键不可靠,自己加一条更可控。编辑 Preferences → Key Bindings – User,插入:
[
{ "keys": ["ctrl+alt+j"], "command": "unfold_all" }
]
这样做的好处:
- 避开和插件默认键位(如
Ctrl+K Ctrl+J)的潜在冲突 - 命令始终走 Sublime 原生命令栈,不受语法高亮插件干扰
- 若某天发现仍不展开,大概率是折叠本身没被创建(比如代码里根本没
{}或if块),而不是快捷键问题
折叠状态本质是 Sublime 根据语法定义动态计算的缓存,不是文件自带属性。所以“展开所有”这事,永远取决于当前视图能否识别出可折叠结构——而不是快捷键按得够不够快。










