Sublime Text多行手动折叠最直接方案是fold_selection命令:选中任意连续多行后按Ctrl+Shift+Alt+[(Win/Linux)或Cmd+Ctrl+Option+[(macOS),该操作不依赖语法、无需设置或插件,仅存于当前会话。

Sublime Text 多行手动折叠不依赖语法、不改设置、不装插件,只要选中就可折,是解决“Ctrl+Shift+[ 没反应”最直接的方案。
选中后按 Ctrl+Shift+Alt+[(Windows/Linux)或 Cmd+Ctrl+Option+[(macOS)
这是 Sublime 原生命令 fold_selection 的默认绑定,它只看鼠标选中的行范围,完全绕过语法识别和作用域判断:
- 鼠标拖选任意连续多行(可以全是注释、JSON、日志、空行,甚至跨函数)
- 确认选中状态(高亮显示),再按快捷键
- 左侧 gutter 出现独立小三角 ▶,点击即可展开/收起
- 该折叠仅保存在当前会话中,关闭文件即消失,但重开未关闭的标签页仍存在
fold_selection 和 Ctrl+Shift+[ 的本质区别
很多人混淆这两个操作,关键差异在于触发条件:
-
Ctrl+Shift+[是fold命令,要求光标停在def、function、{等折叠起点行,且语法必须识别为 Python/JS 等支持语言 -
fold_selection是无条件命令,只要选中 ≥2 行,就强制创建一个折叠区域,哪怕当前是Plain Text - 若你已用
Ctrl+Shift+[折过一次,再按它可能尝试扩展折叠范围(比如从函数体扩到包含 docstring 的整块),而fold_selection每次都以当前选区为准,更可控
选区折叠失效?检查是否误触了快捷键冲突
某些插件(如 SideBarEnhancements、旧版 CodeFolding)会劫持 Ctrl+Shift+Alt+[,导致按了没反应:
- 打开
Preferences → Key Bindings,搜索fold_selection,确认它确实绑定在该快捷键上 - 若没找到,或绑定到了其他键,可在用户按键文件里显式添加:
[{"keys": ["ctrl+shift+alt+["], "command": "fold_selection"}] - 临时禁用可疑插件,重启 Sublime 后测试,能快速定位是否为插件干扰
真正容易被忽略的是:手动折叠后的区域无法被 Ctrl+K, Ctrl+0 或 fold_all 影响——它独立于语法层级,也不会出现在作用域检测中。这意味着,如果你既用了 fold_selection 又依赖 fold_by_level 管理函数结构,得接受它们共存但互不感知的事实。


















