Sublime Text 默认支持基于缩进(如Python)和成对符号({}、[]、()、/ /、#if/#endif)的代码折叠,是否生效取决于语法定义中是否声明foldingStartMarker与foldingStopMarker。
Sublime Text 默认支持哪些代码折叠语法
Sublime Text 原生支持基于缩进(如 Python)和成对符号(如 {}、[]、()、/* */、#if/#endif)的自动折叠,无需插件。但是否生效,取决于当前文件的 scope(语法高亮定义)是否声明了 foldingStartMarker 和 foldingStopMarker。比如 JavaScript 的 { 能折,是因为 JavaScript.sublime-syntax 显式定义了折叠规则;而纯文本或未配置的自定义语法则默认不支持。
常见能直接折叠的结构包括:
-
function、if、for、while等语句块(依赖语言语法定义) -
{}包裹的代码段(C/JS/Java 等) -
/* ... */注释块(多数语言) - Python 中的函数定义、类定义、
if/for缩进块(靠缩进识别)
快捷键展开/折叠代码块(Windows/macOS/Linux 通用)
Sublime 的折叠操作全部通过快捷键触发,没有独立菜单按钮(右键菜单里也无折叠项)。关键组合如下:
- 折叠光标所在层级:
Ctrl+Shift+[(Windows/Linux)或Cmd+Shift+[(macOS) - 展开光标所在层级:
Ctrl+Shift+]或Cmd+Shift+] - 折叠全部:
Ctrl+K, Ctrl+0(先按Ctrl+K,松开再按0) - 展开全部:
Ctrl+K, Ctrl+J - 折叠所有函数/类(若语法支持):
Ctrl+K, Ctrl+1
注意:Ctrl+K 是“命令前缀”,后续按键必须在 1 秒内跟上,否则需重按 Ctrl+K。误按 Ctrl+K 后没反应?大概率是没接上第二键。
自定义折叠:用注释标记可折叠区域
当默认规则不满足需求(比如想把一段配置 JSON 或大段 HTML 注释收起来),可用 Sublime 的「注释折叠」机制。它识别形如 // region / // endregion(C/JS)、#region / #endregion(Python,需语法支持)等标记。