Sublime Text 默认不支持表格折叠,因其将Markdown/HTML表格识别为内容而非代码结构,缺乏foldingStartMarker规则;唯一可靠方法是用fold_selection手动折叠选中行。

Sublime Text 本身不识别 Markdown 或 HTML 中的表格为可折叠结构,Ctrl+Shift+[ 对表格行完全无效——它只响应语法定义的代码块(如 def、{、<div>),不处理纯数据表格。
为什么表格不能用默认折叠快捷键?
表格在 Markdown(.md)或 HTML(.html)中属于“内容”而非“代码结构”:
- Markdown 表格被语法高亮器识别为
text.html.markdown下的普通文本流,没有meta.table或foldingStartMarker规则 - HTML 表格(
<table>)虽有标签对,但默认 HTML 语法包未为<tr>/<td>启用折叠,仅支持<script>、<style>等嵌入块 - 即使你把光标停在
|---|分隔行或<table>开始标签上,Ctrl+Shift+[仍静默失败——因为作用域里没有meta.tag嵌套层级声明为可折叠
临时折叠任意表格行:用 fold_selection
这是唯一 100% 可靠的方式,不依赖语法、不校验结构,只认你选中的行:
- 鼠标拖选整个表格(从第一行
|到最后一行|,含空行分隔) - Windows/Linux 按
Ctrl+Shift+Alt+[,macOS 按Cmd+Ctrl+Option+[ - 左侧 gutter 立即出现独立三角图标 ▶,点击即可展开/收起
- 该折叠仅存于当前 Sublime 实例,关闭文件即消失;不影响其他自动折叠块
想让表格长期可折叠?得改语法或装插件
原生不支持,但可通过以下方式“骗过”折叠系统:
- 在 Markdown 表格前后加注释标记:
<!-- region table -->和<!-- endregion -->,再安装 CodeFolding 插件并配置marker_patterns - 把 HTML 表格包进
<script type="text/template">标签内——这个标签默认可折叠,且浏览器忽略其内容 - 手动修改
Packages/HTML/HTML.sublime-syntax(需备份),添加foldingStartMarker: <table规则,但每次 Sublime 升级会覆盖
真正容易被忽略的是:表格折叠从来不是语法层功能,而是数据组织需求。与其折腾折叠,不如用 Ctrl+F 搜索 | 快速跳转,或把大表格拆成单独 .csv 文件——Sublime 对 CSV 没折叠,但能用 Column Select(鼠标 Alt+拖)高效查看列。

















