Ctrl+Shift+[没反应是因为光标未停在语法定义的折叠起点行(如Python的def/class行)、右下角显示Plain Text导致折叠规则未加载,或侧边栏折叠按钮被禁用。

Ctrl+Shift+[ 是唯一可靠方式,但光标必须停在可折叠结构的起始行上,否则静默失败。
为什么 Ctrl+Shift+[ 没反应?先看光标在哪一行
这个快捷键不作用于“函数体内”或“任意位置”,它只响应语法定义中明确标记为折叠起点的行:
- Python:光标必须停在
def、class、if(带冒号和缩进块)、for等行首 - JavaScript:光标需在
function、const xxx = () => {、{(对象字面量或块级作用域起始)所在行 - HTML:光标得在 、
<script></script>等开始标签行(非闭合标签或内容行)- 光标停在空行、注释、字符串内、函数体中间某行(如
print("x")),快捷键完全无响应右下角显示 Plain Text 就别试了
折叠功能由语言语法驱动,不是靠关键词自动识别。状态栏显示
Plain Text或空白时,所有基于作用域的折叠规则均不加载:- 点击右下角文字 → 手动选为
Python、JavaScript、HTML等真实语言名 - 保存文件时务必带正确扩展名(如
main.py),否则 Sublime 不自动关联语法 - 按
Ctrl+Shift+P→ 输入Developer: Show Scope Name,停在def行看是否含meta.function;若只有source.python,说明作用域未识别成功
想折任意几行?别等语法,直接选中再折
这是 100% 可控的兜底方案,不依赖语言支持、不改设置、不装插件:
- 鼠标拖选或多行选中(
Ctrl+L连续选行也行) - 按
Ctrl+Shift+[(Windows/Linux)或Cmd+Shift+[(macOS) - 左侧 gutter 出现独立小三角图标,点击即可展开/收起
- 该折叠仅存在于当前会话,关闭文件即消失,但胜在稳定
侧边栏没三角图标?不是功能坏了,是设置关了
即使快捷键生效,按钮默认也不常驻显示:
- 打开
Preferences → Settings,右侧用户设置中必须有:"fold_buttons": true"fade_fold_buttons": false - 若存在
"fold_enable": false,请删掉或改为true - 修改后无需重启,但建议切换一次标签页或重新加载语法(如切到其他文件再切回)
真正容易被忽略的是:折叠状态从不跨会话保存——你手动折好的所有块,关掉再打开文件,一律恢复展开。Sublime 官方至今没提供持久化折叠的配置项。
- 光标停在空行、注释、字符串内、函数体中间某行(如











