最可靠的一键收起所有代码块方式是ctrl+k,ctrl+0(windows/linux)或cmd+k,cmd+0(macos);ctrl+shift+[仅折叠光标所在最小可折叠结构,非全部。

Sublime 里“一键收起所有代码块”最可靠的方式是 Ctrl + K, Ctrl + 0(Windows/Linux)或 Cmd + K, Cmd + 0(macOS),不是 Ctrl + Shift + [ —— 后者只折叠光标所在块,容易误以为失效。
为什么 Ctrl + Shift + [ 折叠不了全部?
这个快捷键作用范围仅限于「光标当前所在的最小可折叠结构」,比如一个函数体、一个 if 块、一对 {} 或 def 定义行。它不会遍历整份文件。如果你光标停在空行或注释里,可能根本没反应;停在类内部,只会折叠那个类,而不是所有类。
- 常见错误现象:
Ctrl + Shift + [按了没变化,或只收起一小段 - 根本原因:快捷键语义是“折叠当前”,不是“折叠全部”
- 验证方法:把光标移到某个函数第一行(如
def foo():),再按,就能看到它收起整个函数体
Ctrl + K, Ctrl + 0 和 Ctrl + K, Ctrl + 1 有什么区别?
这是 Sublime 的命令前缀机制:Ctrl + K 是“准备输入折叠指令”的信号,松开后再按数字键才生效。两者的折叠粒度不同:
-
Ctrl + K, Ctrl + 0:折叠所有顶层结构(所有函数、类、模块级if、顶层注释块等) -
Ctrl + K, Ctrl + 1:只折叠缩进为 1 级的代码(比如函数体内的第一层for或if),适合看嵌套逻辑时临时收起中间层 - 数字越大,折叠越深(
Ctrl + K, Ctrl + 2→ 折叠二级缩进,依此类推) - 注意:
Ctrl + K, Ctrl + 0是数字0,不是字母O;且必须分两步按,不是三键齐下
鼠标点不动折叠箭头?先检查语法识别
行号左侧的折叠三角 ▶ 只在 Sublime 正确识别语法时才会出现。如果点不动、不显示,大概率是右下角状态栏显示的是 Plain Text 而不是 Python、JavaScript 等。
- 立刻修复:点击右下角语言名 → 手动选对应语言(如
Python) - 保存文件时带正确后缀(
.py、.js)能自动触发识别 - JSON/HTML 文件默认折叠能力弱,
Ctrl + K, Ctrl + 0可能只折叠顶层对象或标签对,属正常行为 - 某些插件语法(如 Vue 单文件组件)若未定义
foldingStartMarker,即使高亮正常,折叠也会失效
展开全部用 Ctrl + K, Ctrl + J,但别指望它“撤销上一步”
Ctrl + K, Ctrl + J 是无条件递归展开当前文件中所有已折叠区域,不管它们是用 Ctrl + K, Ctrl + 0、Ctrl + Shift + [ 还是鼠标点出来的。但它不记录折叠历史,也不区分层级 —— 一次执行就全开。
- 性能提示:超大文件(>10k 行)展开时可能卡顿 1–2 秒,属正常渲染延迟
- 易忽略点:该命令只作用于当前活动标签页,其他已打开但非焦点的文件不受影响
- 替代方案:如果只想展开某一层(比如只展开函数体,保留函数内循环折叠),用
Ctrl + K, Ctrl + 1配合手动点击更可控











