全部插件 / gogoga Table

gogoga Table

Notion、飞书那样的表格:点格子就能改,合并、排序、状态列。文件里仍是标准 Markdown 表格。

v0.8.4插件市场已上架MIT

安装

  1. 打开 设置 → 第三方插件,关闭「安全模式」(新版叫「受限模式」)。
  2. 点 浏览,搜索 gogoga Table。
  3. 点 安装,装好后点 启用。以后在「第三方插件」里检查更新。

插件市场的文件实际从 GitHub 下载。如果一直转圈或提示失败,换用离线包安装。

Notion、飞书文档那样的表格:好看,点格子就能改,底色、列宽一拖一点就好。文件里仍然是标准的 Markdown 表格,没装插件、在手机上、在 GitHub 上打开都是正常表格。

界面语言跟随 Obsidian 的语言设置,支持简体中文和英文。桌面端和移动端都能用。

用法

装好就生效:笔记里的 Markdown 表格在实时预览和阅读视图里都换成 gogoga Table 的样子,不用改任何写法。

  • 改内容:单击格子选中,直接打字替换;双击或按 Enter 在原内容上改。编辑中 Enter 完成并走到下一行,Shift+Enter 在格子里换行,Tab / Shift+Tab 左右走,Esc 取消。最后一格按 Tab 自动加一行。
  • 选中时:方向键移动,Delete 清空,⌘Z / ⌘⇧Z 撤销重做(和编辑器是同一条历史)。第一行再往上、最后一行再往下、Esc,光标回到表格外面的正文。
  • 选一片:按住拖过几个格子、Shift+点、Shift+方向键。选中一片后可以一起设底色、对齐、清空(Delete),右键在选区里菜单对整片生效,Esc 收回成一格。
  • 复制粘贴:⌘C / ⌘X 复制选中的格子,纯文本是制表符分隔(Excel、Numbers 认),同时带有样式的 HTML 表格(底色、文字颜色、加粗、对齐、列宽、合并),粘到飞书、Word、邮件里保留样子;粘回 gogoga 表格时用 Markdown 原文,链接、加粗不丢。⌘V 能粘 Excel、飞书、网页复制来的表格,制表符分隔的文字,或者一段 Markdown 表格源码,从选中的格子开始贴,超出范围自动加行加列;复制一格、选中一片再粘,每格都填上。
  • 粘贴生成表格:在正文里粘贴从 Excel、WPS、Numbers、飞书、Google 表格或网页上复制的表格,直接生成一张表,第一行当表头,前后自动空行。只有剪贴板里整段就是一张表(至少 2 行 2 列)时才这样;在代码块、公式、frontmatter 里照常粘贴原文。
  • 合并单元格:选中一片右键「合并单元格」,合并后的格子显示各格的全部内容(不丢字),取消合并后各格内容原样回来;合并的格子右键「取消合并」。在合并区域中间插行插列,区域跟着变大;删行删列跟着变小。
  • 加行加列:鼠标移到表格上,右边和下边出现加号。
  • 行、列手柄:鼠标停在格子上,这一行的左边框、这一列的上边框出现手柄。按住拖动调整行列顺序(底色、列宽、合并跟着走),点一下是行 / 列菜单:插入、上下左右移动、整行整列设底色、删除;列菜单里还有对齐和自动列宽。
  • 右键格子:插入行列、对齐、底色、清空、删除行列。
  • 列宽:拖表头的右边缘,双击恢复自动。
  • 底色:灰、红、橙、黄、绿、蓝、紫七种,取主题的颜色调淡,深浅色模式下都合适。
  • 下拉填充:选中格子后拖右下角的小方块,按规律往下 / 往右填:数字递增、带编号的文字(第 1 期)、日期、周几、月份按顺序续,其他照抄;按住 ⌥ 一律照抄。拖出表格自动加行加列。
  • 表格左上角菜单:单独给这张表设样式(默认、斑马纹、极简线、三线表)和行距,第一列作为标题列,整表对齐,平均分布列宽、撑满页面宽度,所有列恢复自动宽度,清除所有颜色。
  • 排序:列菜单里按此列升序 / 降序,数字按数值、日期按时间、中文按拼音,空格子排最后;有合计行时合计行不动。
  • 复制行列、一次插入多行:行 / 列菜单里「复制此行」「复制此列」;选中几行再插入,一次插入同样多的行(列也一样)。
  • 勾选框:格子里写 [ ] 或 [x] 就显示成能点的勾选框,选中后按空格也能切换;右键「变成勾选框」。
  • 文字颜色:右键菜单里底色下面一排「A」是文字颜色。
  • 合计行:列菜单「合计」选求和、平均、计数、最大、最小,表格最后自动加一行「合计」,数据改了跟着重算;新加的行加在合计行前面。
  • 状态列:列菜单「设为状态列」,这一列的值画成彩色标签,编辑时下拉选已有的状态,新状态自动分颜色;右键状态格可以改这个状态的颜色。
  • 编辑格子时:⌘B 加粗、⌘I 斜体、⌘⇧X 删除线、⌘⇧H 高亮、⌘K 链接;输入 [[ 补全笔记链接,输入 # 补全标签。光标在表格里时,Obsidian 的编辑器快捷键不会改到正文。
  • 命令:插入表格(悬停网格选行列数)、把选中的文字(CSV、制表符分隔)转成表格,以及插入、复制、删除行列,排序,合并,对齐等,都能在命令面板里用、绑快捷键。
  • 长表格、宽表格:往下滚时表头贴在顶端;横向放不下时左右出现淡淡的阴影,提示还能滚。
  • 手机:点一下格子就进入编辑,长按出菜单,滑动照常滚动;点了格子后行列手柄出来,手指按住拖动换位置。
  • 格子里的加粗、链接、[[双链\|别名]]、标签、公式照常显示,点链接直接打开。

设置

  • 接管 Markdown 表格(默认开):关掉后完全恢复 Obsidian 原生表格。
  • 样式:默认(参考 Notion:直角、极淡的分隔线、表头浅底)、斑马纹、极简线。
  • 行距:舒适、紧凑。

文件里存的是什么

表格本身是标准 GFM 表格,对齐用标准的 :---: 写法。Markdown 写不出来的列宽、底色、合并,放在紧跟表格下面的一行 HTML 注释里:

| 方案 | 月费 | 存储 |
| :--- | :---: | ---: |
| 基础 | 10 元 | 5 GB |
<!-- gogoga-table: {"w":[120,null,200],"bg":{"B2":"yellow"},"merge":["A3:B3"]} -->
  • 合并的格子在别处显示为普通格子:左上角那格有内容,其余是空的,内容不丢。
  • 坐标按 Excel 的习惯:列是 A、B、C,第 1 行是表头。增删、移动行列时,注释里的坐标跟着改。
  • 注释在别的编辑器里看不见;在 Obsidian 里由插件藏起来。注释放在表格下面,是因为放在上面紧贴着时,没装插件的 Obsidian 实时预览不把它当表格。
  • 没有列宽、底色时不写注释。注释坏了或被删掉,表格照常显示,只是没有列宽和底色。
  • 原来补了空格对齐的表格,改完仍然对齐(中文按两个字宽算);两头没写竖线的表格,写回时也不加。

性能

结论

  • 几百行、几千个格子以内的表格都很流畅:200 行 × 10 列(2000 格)上,所有操作都在 0.3 秒以内,点选和方向键在 20 毫秒左右。
  • 上万个格子的表格能打开、能看、能选、能改格子,但改结构会慢:1000 行 × 20 列(2 万格)上,打开约 0.4 秒,点选约 0.15 秒,改一个格子约 0.1 秒;插入行、排序、撤销要 0.5~10 秒。慢的主要是 Obsidian 自己的原生表格,不装本插件也一样慢(见下面「瓶颈」)。
  • 建议:一张表尽量控制在几千个格子以内。数据更多时,可以拆成几张表,或者改用 Obsidian 的 Bases、CSV。

压测结果

在 Obsidian 1.15(macOS,Apple Silicon)里用真实鼠标、键盘事件操作,量从输入事件到下一帧画完的时间。

操作 200 行 × 10 列 1000 行 × 20 列
打开笔记到表格画完 0.05 秒 0.4 秒
切到阅读视图 0.1 秒 0.7 秒
点选一格 0.02 秒 0.15 秒
方向键挪一格 0.01 秒 0.1 秒
框选 50 行 0.01 秒 0.1 秒
十字高亮跟着鼠标 — 0.06 秒
滚动时最长的一帧 0.02 秒 0.09 秒
改一格并写回 0.1 秒 0.1 秒(笔记刚打开几秒内的第一次改动 2~3 秒)
插入一行 0.15 秒 3.2 秒
按列排序 0.1~0.26 秒 3.4~10.5 秒
撤销 0.2 秒 0.5~14 秒

同一张 1000 × 20 的表,不装本插件时在 Obsidian 原生表格上做同样规模的改动:

改动 原生表格耗时
改一个格子里的几个字 0.16~3.1 秒
插入一行 3.1~3.4 秒
整张表的正文换顺序(相当于排序) 0.07~11 秒

0.4.0 及更早的版本里,同一张 1000 × 20 的表打开要 1.6 秒,切到阅读视图 2.4 秒,点选 0.2 秒,撤销最长 9.5 秒。这一版做的优化:

  • 纯文字、数字的格子直接显示,不再逐格走 Markdown 渲染;
  • 选中、方向键、十字高亮只更新变了的格子;
  • 十字高亮改成盖在表格上的色带,不再逐格加样式;
  • 写回笔记时只改变了的那几个字,不再整张表替换。Obsidian 的原生表格因此只更新那一格,不整张重建:2 万格的表上改一格从约 3 秒(最慢 10 秒以上)降到约 0.1 秒。

表格的解析、写回、增删、移动、排序等处理本身很快:2000 行 × 20 列的表,每项都在几毫秒内;在一篇有 200 张表的笔记里找出所有表格,约 3 毫秒。

瓶颈和限制

  1. Obsidian 自己的原生表格(改内容慢的主要原因)。 实时预览里,Obsidian 会给每张表格建一个它自己的原生表格对象,被本插件的表格盖住、根本不显示时也照建。表格文字一变:

    • 改动全落在单个格子里,它只更新那几格(本插件改格子时只写回变了的字,走的就是这条路);
    • 插行、删行、排序、整张替换这类改动,它会立刻把整张表重建一遍。

    这一步在 2 万格的表上要 3~10 秒,耗时还取决于 Obsidian 当时有没有把整篇笔记解析完,波动很大。不装本插件时也一样:原生表格本身就是这个速度。Obsidian 只有两种情况会跳过:一是它自己的表格编辑器发出的改动(带一个内部标记),二是表格范围里有搜索高亮。这两样都是 Obsidian 内部的东西,插件拿不到。借用它们会让插件在 Obsidian 更新后失效,甚至出现表格显示不出来之类的问题,所以本插件不这么做。

  2. 点选、方向键在大表格里约 0.1 秒。 选中一格时,浏览器要把整张表重新排版、重画一帧。2 万格的表上,这一步本身就要几十毫秒。用来接收输入的隐藏输入框要跟着放进选中的格子里,这样中文输入法的候选框才会出现在正确的位置,但这一挪就会触发整表重排。

  3. 所有行都会画出来。 没有做只画看得见的那几行,所以表格越大,打开和切换视图越慢,大约每 1000 个格子 20 毫秒。阅读视图同理。

自己跑压测

  • 处理逻辑的压测在 scripts/tests/perf.test.ts,随 npm test 一起跑(CI 也跑)。时间上限放得很宽,只用来拦住成倍变慢的改动。
  • 界面压测在仓库外的 e2e 脚本里(t_perf.py),要在 Obsidian 里跑。会打印上面那张耗时表,并在同一张表上关掉插件,量原生表格的耗时作对照。

目前的范围

  • 表格下面已有 Advanced Tables 的公式注释(<!-- TBLFM -->)或块标识(^id)时原样保留,我们的注释排在后面,公式和块引用照常有效。
  • 接管顶格写的表格,和列表项下面缩进写的表格(紧跟着列表项或隔一个空行,每行缩进一样)。代码块、引用和 callout(> 开头)里的表格,以及不在列表里的缩进,仍由 Obsidian 原生显示。
  • 紧跟在一段文字后面(中间没空行)的表格不接管,交给 Obsidian 原样处理。

更新日志

0.8.4
2026-11-12

修复

  • 斑马纹样式下冻结标题列时,冻结列隔一行是半透明的:往左滚到它底下的列会透出来,文字叠在一起。现在冻结列每一行都不透明。
  • 拖选的格子不包括第一列时,蓝色选框放到冻结列下面,不再盖在冻结列上。
0.8.3
2026-11-12

变更

  • 为通过插件市场审核,调整了导出 PDF 时设置列宽的代码写法,功能没有变化。
0.8.2
2026-11-12

修复

  • 导出 PDF 时表格和笔记里看到的一样:单元格颜色、列宽、合并单元格、表格样式和对齐都会带上。以前 PDF 里是 Obsidian 原生的表格。手柄、按钮、选区不会印出来。
  • 设了列宽、加起来比页面宽的表格,在 PDF 里按原来的比例缩到页面宽,不会右边被裁掉。
0.8.1
2026-11-11

修复

  • 表格(连同下面的注释)是笔记最后一段时,点表格下方,光标会放到表格下面新的一行。以前光标落在表格最后一行的行尾,按回车就把表格和注释拆开:<!-- gogoga-table … --> 露出来,这张表的颜色、列宽也丢了(#5)。
  • 表格在笔记最后、文件被外部改动(同步、别的插件写入)且改动从表格结尾开始时,编辑器会跟着更新。以前可能被当成 Obsidian 重排表格而丢掉,编辑器里的内容和文件对不上。
查看全部 14 个版本
0.8.0
2026-11-10

新增

  • 表格左上角菜单新增「增加缩进(挂到上面的列表项下)」「减少缩进(移出列表)」:实时预览里表格被画成了表格,按 Tab 缩进不了,现在可以从菜单把整张表(连同下面的注释)挂到上面最近的列表项下,成为这一项的备注(在 gogoga Mind Map 里就是这个节点的备注),或者移到列表后面。⌘Z 能撤回。

修复

  • 阅读视图里,紧跟在列表项下面的缩进表格(gogoga Mind Map 存节点备注就是这样写的)不再显示成 | a | b | 源码,也画成表格了。以前只有列表项之间空了行时才行。
  • 编辑格子时复制一段带颜色的文字,粘到别处不再变成半截 <span …> 源码;在带颜色的文字中间按 Shift+Enter 换行,每一行各自完整地存好。
0.7.0
2026-11-10

新增

  • 设置「编辑格子时直接显示格式」(默认关):格子的编辑框换成和 gogoga Mind Map 节点一样的 CodeMirror 编辑器,加粗、斜体、文字颜色、荧光笔、下划线在编辑时直接显示效果,<span style=…> 这类标签藏起来,删字时保持成对,长段的彩色文字不会再变成一大串标签。选中格子直接打字、用输入法打字,照样马上进入编辑。编辑器在第一次选中这张表的格子时才创建。

改进

  • 拖拽手柄和原生表格一样(#2):鼠标在第一列时才出现这一行的行手柄,在表头行时才出现这一列的列手柄,不再是悬停任意格子都出现。滚动时手柄先藏起来,鼠标一动再出现,不会再跟着吸顶的表头抖,也不会停在旧的那一行上。

修复

  • 用触控板快速滚动时,吸顶的表头不再抖(#2),比如从下面的表格往上划进一张长表格的时候。不用横向滚动的表格改用浏览器原生的吸顶,编辑器边滚边重画内容时表头也稳稳贴着顶端;宽表格的表头按物理像素一格一格地移动。表头吸顶时,列手柄完整显示在表头里,不再被截掉半截。
  • 阅读视图里表格左上角的菜单按钮、行手柄不再被切掉左半边:Obsidian 给表格套的那层会裁掉表格边框以外的东西。不用横向滚动的表格在阅读视图里也用上了原生吸顶。
  • Obsidian 偶尔会把空的笔记原文交给插件(在实际的库里重载插件后遇到),阅读视图里的表格就全都没被接管、保持原生样子。现在原文为空时从打开着的这篇笔记里取。
  • 实时预览里,列表项下面的表格有时会丢掉缩进、贴着左边,和列表文字对不齐:同一位置原来是一张顶格的表格时(比如切换了笔记)会出现。
  • 阅读视图里,长笔记中靠后的表格(Obsidian 先画好、滚到附近才挂到页面上)表头也会吸顶了,以前滚到它们那里表头不动。
  • 快速滚动时,吸顶的表头不再透出底下正文的笔画(表头上沿、两行表头之间那几条缝):能吸顶的表格,表头一直垫着不透明的底。
0.6.0
2026-11-09

新增

  • 设置「编辑格子时选中文字显示格式栏」(默认关):编辑格子时选中一段文字,上方浮出和 gogoga Mind Map 一样的格式栏:加粗、斜体、删除线、下划线、高亮、文字颜色、荧光笔和清除,实时预览和阅读视图都能用。编辑时按 ⌘U 给选中的字加下划线(<u>…</u>)。

改进

  • 删除行、列跟着选区走(#4):框选几格后右键(包括行、列手柄的菜单),会出现「删除 2 行」「删除 3 列」这样的选项,不再是灰的「删除行」「删除列」。表头行照旧不能删,至少留下一行数据和一列。

修复

  • 打开十字高亮时,编辑格子文字折行后整行的高亮会跟着变高,不再只盖住第一行、第二行颜色对不上。
0.5.1
2026-11-09

修复

  • 笔记里有表格时,点表格后面的文字可能落到下一行,比如点标题上面的段落却选中了标题。原因是表格上下的外边距没算进它的高度,每张表格都让后面所有行的位置错开 18px。
0.5.0
2026-11-08

新增

  • 在正文里粘贴从 Excel、WPS、Numbers、飞书、Google 表格或网页上复制的表格,直接生成一张表,第一行当表头(#1)。只有剪贴板里整段就是一张表(至少 2 行 2 列)时才转换;在代码块、公式、frontmatter 里照常粘贴。撤销一下就回到粘贴前。

修复

  • 滚动长表格时不再跳:以前吸顶的表头每滚一下都慢一拍、落后一格再追上来。桌面端现在由浏览器在滚动的同一帧挪表头;较老的环境保持原来的方式。(#2)
  • 阅读视图里表头吸顶也能用了,以前在阅读视图里表头一直停在表格顶上。
0.4.1
2026-11-08

优化

  • 大表格快了很多:纯文字、数字的格子不再逐个走 Markdown 渲染,选中、方向键、十字高亮只更新变了的地方。1000 行 × 20 列的表,打开从 1.6 秒降到 0.4 秒,撤销从 9 秒降到 0.5 秒,选中挪一格从约 0.2 秒降到 0.1 秒以内,切到阅读视图从 2.4 秒降到 0.6 秒。
  • 大表格里改一个格子快了很多:写回笔记时只改变了的那几个字,不再整张表替换,Obsidian 自己的原生表格只更新那一格、不整张重建。1000 行 × 20 列的表,改一格从约 3 秒(最慢 10 秒以上)降到约 0.1 秒。
0.4.0
2026-11-08

新增

  • 多行表头:表格左上角菜单 →「表头行数」选 2 行或 3 行,前几行都画成表头、一起吸顶,排序、合计、下拉填充不算它们,适合「第一季度」下面再分「1月 2月 3月」这样的分组表头。在表头里插入或删除行,表头行数跟着变;不能合并跨过表头和正文分界线的格子。文件里第一行仍是 Markdown 表头,行数记在表格下面的注释里,没装插件时其余几行显示成普通行。
  • 冻结标题列:打开「第一列作为标题列」后,菜单里多一项「冻结标题列」,表格左右滚动时第一列固定在左边,右边缘带一道阴影。关掉标题列时冻结一起去掉。
  • 十字高亮(设置里打开,默认关):选中格子时,它所在的整行和整列铺一层淡色,看大表格不容易串行;也可以选「选中和悬停时」,跟着鼠标走。

优化

  • 表格太宽、需要左右滑动时,被截断的那一边改成渐渐淡出。原来那道灰色阴影和实际截断的位置错开了一截,阴影外面还露着半列格子,看着像没画完。
0.3.0
2026-11-07

新增

  • 表格左上角按钮的菜单里多了「删除表格」:整张表连同下面的注释一起删掉,实时预览里可以 ⌘Z 撤回。
0.2.0
2026-11-07

新增

  • 列表项下面缩进写的表格也换成 gogoga 表格了(gogoga Mind Map 里节点下的表格就是这样存的)。Obsidian 自己在实时预览里不显示这种表格、只露出源码,阅读视图里紧跟着列表项写的也只是一串文字;现在两种视图都显示成表格,和列表项的文字对齐,能直接编辑,写回时每行的缩进原样保留。

修复

  • 给表头的格子设底色(点表头的行手柄 →「底色」,或选中表头的格子)没有效果,被表头默认的浅灰底盖住了;极简线、三线表的表头和吸顶时也一样。现在表头的颜色能改,吸顶时颜色也在。
  • 很宽的表格左右滚动以后,行手柄和左上角的表格按钮跟着滚到看不见的地方。现在它们贴在看得见的左边,所在的行或列滚出去时就藏起来。
0.1.0
2026-11-06

新增

  • 第一个版本:实时预览和阅读视图里的 Markdown 表格换成 Notion 风格的表格。点格子编辑,Enter / Tab 跳格,加行加列,行列手柄和右键菜单,拖列宽,七种底色,三套样式和两档行距;手机上点一下编辑、长按出菜单。选一片格子一起设底色、对齐、清空;和 Excel、飞书、网页互相复制粘贴;合并单元格;拖动行列手柄调整顺序;长表格表头吸顶,宽表格左右有滚动提示。下拉填充;表格左上角菜单(单表样式、三线表、标题列、整表对齐、平均分布列宽、撑满页面);按列排序;复制行列、一次插入多行;勾选框;文字颜色;合计行;状态列;编辑格子时的格式快捷键和 [[ 链接、# 标签补全;插入表格、文字转表格等命令。复制带样式的 HTML。兼容 Advanced Tables 的公式注释和块标识。文件仍是标准 Markdown 表格,列宽、颜色、合并等存在表格下面的一行注释里。