ctrl+k, ctrl+0(windows/linux)或 cmd+k, cmd+0(macos)是遍历整份文件、折叠所有顶层结构的命令,需分步按键且依赖右下角正确的语言标识,plain text 等无效语法会导致静默失效。

Ctrl+K, Ctrl+0 是真·一键收起全部,不是 Ctrl+Shift+[
很多人按 Ctrl+Shift+[ 没反应,或只折了一小段,是因为它只作用于光标所在行对应的最小可折叠结构:停在 if 行就只折那个 if 块,停在空行或注释里直接静默失败。Ctrl+K, Ctrl+0(Windows/Linux)或 Cmd+K, Cmd+0(macOS)才是遍历整份文件、折叠所有顶层结构(函数、类、模块级 if、for)的命令。
注意两点:
- 必须分步按:先按
Ctrl+K松开,再按Ctrl+0(数字零,不是字母 O) - 它不依赖光标位置,但极度依赖右下角状态栏显示的语言名——若为
Plain Text,命令会静默失效
为什么按了没反应?先看右下角语言标识
Sublime 的折叠逻辑由语法定义驱动,不是靠关键词或缩进“猜”的。如果右下角显示 Plain Text、Unknown Syntax 或空白,折叠规则根本不会加载。
解决办法:
- 点击右下角文字 → 手动选为
Python、JavaScript、HTML等原生支持语言 - 保存带扩展名的文件(如
main.py),Sublime 才会自动关联语法 - 检查是否误启用了
"fold_enable": false—— 打开Preferences → Settings,确认没有这行配置
想只折函数,不碰 if/for/注释?用 fold_by_level 命令
Ctrl+K, Ctrl+0 会把 class、顶层 if、文档字符串甚至 __all__ = [] 全收起来,不适合只想快速浏览函数签名的场景。
精准折函数得靠作用域层级:
- 先手动用
Ctrl+Shift+[折一个函数,确认它被识别为函数块(而非普通缩进块) - 按
Ctrl+Shift+P→ 输入fold_by_level→ 回车 - 依次尝试输入
1、2、3……Python 通常是2,JS 常是3;输错无提示,没反应就换下一个
这个命令只折被语法定义明确标记为 meta.function 且 fold_level 匹配的结构,跳过其他块。
任意几行都可折,不依赖语法——选中后按 Ctrl+Shift+[
当语法不支持、或你只想临时收起一段日志、JSON 配置、测试数据时,这是最稳的兜底方案:
- 鼠标拖选或多行选中(
Ctrl+L连续选行) - 按
Ctrl+Shift+[(Windows/Linux)或Cmd+Shift+[(macOS) - 折叠后左侧边栏出现独立三角图标,点击即可展开
这个操作调用的是 fold_selection 命令,不看作用域、不依赖语法包、不改设置,关闭文件即消失,但当前会话 100% 可控。
折叠状态从不跨会话保存,重启 Sublime 就全展开;侧边栏按钮默认常驻需手动设 "fold_buttons": true 和 "fade_fold_buttons": false;真正容易被忽略的是:混用 Tab 和 Space 缩进会让 Python 折叠断层,统一转为空格(View → Indentation → Convert Indentation to Spaces)才能恢复连贯折叠。











