Ctrl+Shift+] 展开折叠需光标位于折叠区域首行且语法正确;fold_selection无反向命令,需用Unfold命令面板精准操作;自动折叠插件或设置会导致展开后回缩。

选中折叠区域后按 Ctrl+Shift+] 不生效?光标位置和语法识别是关键
这个操作不是“选中就展开”,而是要求光标必须落在已折叠区域的**第一行(即带三角图标那行)**。如果光标在折叠块内部、空行或注释行,Ctrl+Shift+] 会静默失败。常见错误现象包括:鼠标点了折叠标记展开正常,但键盘操作没反应;或者选中了多行后按快捷键,结果什么都没发生。
确认当前文件语法正确加载:右下角状态栏应显示 JavaScript、Python 等,而非 Plain Text。若显示错误,手动点击切换语言,或用 Ctrl+Shift+P 输入 Set Syntax: JavaScript 强制重载。
部分插件(如 Vue Syntax Highlight 旧版)会破坏作用域定义,导致 meta.fold 未被识别——此时即使折叠标记存在,Ctrl+Shift+] 也无法触发展开逻辑。
为什么 fold_selection 展开不了?它压根不支持“反向操作”
fold_selection 是唯一能绕过语法、任意选区强制折叠的命令,但它没有配套的 unfold_selection。一旦你用 Ctrl+Shift+Alt+[ 折叠了一段 JSON 或日志,就只能靠以下方式恢复:
- 把光标移到该折叠行首,再按
Ctrl+Shift+](前提是折叠标记还在) - 全选该区域(
Ctrl+L多次),然后按Ctrl+Shift+Alt+]—— 这是unfold_selection的实际绑定键(Windows/Linux),但仅对fold_selection创建的折叠有效 - 如果已关闭文件再打开,这类手动折叠会丢失,无需担心残留
想只展开某几处折叠,又不想全展?用命令面板精准定位
原生快捷键只有“全展”或“当前块”,没有“指定展开”。这时候必须进命令面板:Ctrl+Shift+P → 输入 Unfold,你会看到多个选项:
-
Unfold All:全局展开,无视层级 -
Unfold Tag:只展开 HTML/XML 标签(比如<div> 块) <li> <code>Unfold Function:只展开函数级折叠(需语法支持meta.function) -
Unfold Level 2:只展开嵌套第二层的结构(如类内方法、if 内的 for) - 打开
Preferences → Settings - 搜索
fold,把"fold_on_open"设为false - 删掉插件目录下
AutoFold相关配置,或直接禁用该插件
注意:Unfold Function 在 Vue 单文件组件里常失效,因为 <script> 块未被识别为独立作用域;临时切到 JavaScript 语法可绕过。
展开后代码错位或缩进异常?别急着重装插件,先关掉自动折叠
某些插件(如 AutoFold 或自定义 Preferences.sublime-settings 里的 "fold_on_open": true)会在文件打开时自动折叠,且可能干扰手动展开状态。展开后立刻回缩,大概率是它在后台重置了视图。
临时禁用方式:
真正容易被忽略的是:Sublime 的折叠状态不跨会话保存,哪怕你设置了 "save_on_focus_lost": true,它也只保存文件内容,不保存折叠/展开状态——每次重启 Sublime,所有手动操作都会归零。

















