Ctrl+Shift+[仅在可折叠结构起始行生效,需光标位于def等行且右下角显示Python等语言;Ctrl+K Ctrl+0需分步按、语言正确、缩进规范;fold_by_level可按层级精准折叠;fold_selection支持任意选区手动折叠。

Ctrl+Shift+[ 没反应?先看光标在哪、语言对不对
这个快捷键只在「可折叠结构的起始行」生效,不是全选就能折,也不是按了就收全文件。常见失效场景包括:
• 光标停在 print() 行、空行、# 注释 行或字符串内部
• 右下角状态栏显示 Plain Text,而非 Python、JavaScript 等真实语言名
• 文件没后缀(如临时粘贴的代码),Sublime 无法自动关联语法
验证是否识别成功:光标停在 def func(): 行,按 Ctrl+Shift+P → 输入 Developer: Show Scope Name,状态栏应出现类似 meta.function.python 的作用域;若只有 source.python,说明函数块未被语法解析为独立作用域
Ctrl+K, Ctrl+0 折不全?检查三个硬性前提
这是真正遍历整份文件、折叠所有顶层结构(函数、类、模块级 if)的命令,但它不是“万能键”,失效时优先排查:
• 必须分步按:Ctrl+K(松开)→ Ctrl+0(数字零,非字母 O)
• 右下角必须是有效语言,Plain Text 下完全静默失效
• Python 文件混用 Tab 和空格缩进 → 会导致 def 行未被识别为函数作用域,直接跳过折叠
• 文件 >10MB 时响应延迟或卡在状态栏,属正常现象,不是崩溃
只想折函数,不碰 if/class?用 fold_by_level 实测层级
Ctrl+K, Ctrl+1 不等于“只折函数”,它折叠的是作用域嵌套深度为 1 的结构,可能只收 import 或 if __name__ == "__main__":,而漏掉 def。可控做法是:
• 先确认一个 def 行能被 Ctrl+Shift+[ 正常折叠(左侧 gutter 出现 ▶)
• Ctrl+Shift+P → 输入 fold_by_level → 回车 → 依次试 2(Python 多数情况)、3(JS/TS 常见)
• 输错数字无提示,静默失败;装饰器跨行(如 @decorator 单独一行写在 def 上方)或 docstring 紧贴 def 行(如 def f(): """doc"""; pass)会导致识别断裂,加空行可修复
任意几行都要收起来?fold_selection 是唯一稳解
这是唯一绕过语法解析、缩进校验和折叠规则的方式,100% 可控:
• 鼠标拖选任意连续多行(JSON 配置、日志、base64 字符串、YAML 段落都行)
• Windows/Linux 按 Ctrl+Shift+Alt+[,macOS 按 Cmd+Ctrl+Option+[
• 左侧 gutter 出现独立三角图标,点击即展开,不影响其他自动折叠块
• 注意:该折叠仅存于当前 Sublime 实例中,关闭文件即消失;不依赖语法定义,也不修改设置,适合紧急整理

















