Ctrl+K Ctrl+J仅展开当前活动视图的可折叠区域,依赖语法定义且不跨标签页;需确保焦点在目标文件、语法正确(非Plain Text),按键为先Ctrl+K再松开按J;大文件或无折叠规则时无效,全局展开需插件ExpandAll。

Ctrl+K Ctrl+J 是当前文件展开全部的快捷键,但只对活动视图生效
这个组合键调用的是 unfold_all 命令,它不会跨标签页操作,也不会影响其他已打开的文件。常见误操作是按下后没反应,其实只是焦点不在目标文件上——确认右下角状态栏显示的是正确语法(如 JavaScript、Python),而不是 Plain Text。
注意按键顺序:先按住 Ctrl(或 Cmd on macOS),再按 K,松开后再按 J。不是三键同时按下,这是 Sublime 的命令前缀机制。
- 如果文件是无扩展名或
.log类型,Sublime 默认识别为Plain Text,不启用折叠逻辑,unfold_all会静默失败 - 手动触发一次折叠(
Ctrl+Shift+[)再试,能快速验证折叠功能是否就绪 - 部分插件(如
BracketHighlighter)可能劫持Ctrl+K前缀,临时禁用插件可排查
为什么 unfold_all 有时不生效?语法识别和折叠范围是关键
unfold_all 不是“暴力展开所有行”,而是展开所有被 Sublime 当前语法定义为可折叠的区域(比如函数、类、#region 注释块)。如果语法包没定义折叠规则,或用了不兼容的注释风格(如 // #region 在默认 Python 语法中无效),命令就无事可做。
- JSX / Vue 单文件组件中,
Ctrl+K Ctrl+J可能只展开 script 部分,template 和 style 区域需单独处理 - 大文件(>10MB)会被 Sublime 自动禁用折叠,此时
unfold_all直接跳过 - 想绕过语法限制?临时切到
Plain Text模式(Ctrl+Shift+P→Set Syntax: Plain Text),再运行unfold_all,它会按行号清除所有折叠状态
如何给所有打开的标签页一键展开?得靠插件补足
Sublime 原生不支持全局展开,Ctrl+K Ctrl+J 永远只作用于当前视图。需要批量操作时,最轻量方案是安装社区插件 ExpandAll:
- 通过
Ctrl+Shift+P→Package Control: Install Package→ 搜索并安装ExpandAll - 安装后,
Ctrl+Shift+P输入Expand All,它会遍历所有已打开标签页并执行unfold_all - 该插件不修改文件内容,也不保存折叠状态,纯属视图重置;卸载后无残留
别指望它恢复上次关闭前的折叠状态——Sublime 的折叠信息不持久化,关掉再打开文件,一切从头开始。
自定义快捷键让 unfold_all 更可靠
命令面板(Ctrl+Shift+P)输入 unfold all 总是可用的,比记快捷键更稳。但如果想固定一个新组合键(比如避免和插件冲突),可以手动绑定:
- 菜单 →
Preferences→Key Bindings,在右侧用户键绑定中添加: [{"keys": ["ctrl+alt+j"], "command": "unfold_all"}]- 这样即使原生
Ctrl+K Ctrl+J被覆盖,你还有备用入口
真正容易被忽略的是:折叠状态完全依赖当前语法定义,换一个语法高亮模式(比如从 TypeScript 切到 JavaScript),已折叠区域可能自动展开或消失——这不是 bug,是设计使然。


















