Ctrl+K Ctrl+J仅展开语法识别的已折叠代码块,不处理手动折叠区域;需先确认语言模式正确、光标在编辑器内,且foldingStrategy为auto。

Ctrl+K, Ctrl+J 展开所有,但不处理手动折叠区域
这个快捷键调用的是 unfold_all 命令,它只还原由语法识别自动产生的折叠(比如 def、class、{} 块),对 fold_selection 创建的手动折叠区域完全无效。你按了没反应?大概率是因为当前文件里只有手动选中折叠的段落。
常见错误现象:
- 侧边栏有独立三角图标(非 gutter 自带 ▶),但
Ctrl+K, Ctrl+J点击后不展开 - 折叠前是
Ctrl+Shift+Alt+[(Windows)或Cmd+Ctrl+Option+[(macOS)操作的 - 状态栏显示 “Plain Text” 或语言识别异常,导致语法折叠根本没生效,
unfold_all无东西可展
手动折叠区域只能单独点击展开
Sublime 对 fold_selection 生成的折叠不做全局管理——没有“展开所有手动折叠”的命令,也没有快捷键绑定。它只在侧边栏 gutter 显示独立三角图标,且图标位置与语法折叠的 ▶ 不重叠、不合并。
使用场景:
- 临时收起 JSON 配置块、日志片段、base64 字符串等非代码结构
- 绕过语法解析限制(比如 YAML 文件原生不支持折叠,但你能选中后折)
- 折叠注释块或文档段落,而不用依赖
fold_comments设置
注意:这类折叠仅存在于当前会话,关闭文件即丢失;Ctrl+K, Ctrl+J、Ctrl+K, Ctrl+0 都不影响它们。
想一次性展开全部?得组合操作
没有一键命令,但可以分两步逼近“完全展开”效果:
- 先按
Ctrl+K, Ctrl+J还原所有语法级折叠(def、class、{}等) - 再逐个点击侧边栏所有独立三角图标(手动折叠区域),或用鼠标滚轮快速扫视 gutter 定位
- 若手动折叠区域太多,可用
Ctrl+Shift+P→ 输入unfold_all确认是否真没生效;再输show_panel→console查看是否有报错
性能影响很小,但 gutter 图标过多时视觉干扰明显——这不是 bug,是 Sublime 的设计取舍:手动折叠和语法折叠走两套互不感知的机制。
为什么 fold_by_level 不能用来展开?
fold_by_level 是折叠命令,不是展开命令。它只接受正整数参数(如 2、3),作用是把 scope depth = N 的结构全部折叠,没有对应的 unfold_by_level。试图输入负数或字母会静默失败,控制台也不会提示。
容易踩的坑:
- 误以为
Ctrl+K, Ctrl+1折叠后,再按一次就能展开——实际它只是再次执行 fold_by_level(1),不会切换状态 - 在装饰器跨行或 docstring 紧贴
def行的 Python 文件里,fold_by_level可能漏掉某些函数,导致你以为“没展开完”,其实是当初就没折进去 - JS/TS 中
function和{}常共享同一层 meta scope,fold_by_level 3可能同时折掉箭头函数体和 if 块,展开时也得一起还
真正卡住人的,从来不是“怎么展开”,而是搞不清哪些是语法折叠、哪些是手动折叠——gutter 里两种图标并存时,得靠位置和形状区分:▶ 是语法折叠起点,△(或空心三角)是手动折叠标记。

















