需先用正则提取SHOW CREATE TABLE字段行,手动清理约束并补全表头与分隔线,再通过多光标对齐和Table Editor插件执行Align Table完成Markdown表格转换。

怎么把 SHOW CREATE TABLE 的输出转成 Markdown 表格
不能直接粘贴就完事。SHOW CREATE TABLE 返回的是 DDL 语句,字段混在 CREATE TABLE 块里,带括号、逗号、约束、注释,还可能跨行。Sublime 不会自动识别“这是字段定义”,必须人工或半自动剥离结构。
实操建议:
- 先用正则提取字段行:查找
^\s*`([^`]+)`\s+([^,]+)(?:\s+COMMENT\s+'([^']*)')?(启用.matches newline),替换为|<code>$1|$2|$3|,得到原始三列数据 - 手动删掉
PRIMARY KEY、NOT NULL、DEFAULT等非字段描述内容——别指望正则一步全干,容易误删类型里的括号,比如VARCHAR(255) - 补表头和分隔线:在第一行前插入
|字段名|类型|注释|,第二行插入|---|---|---|
多光标对齐字段名、类型、注释三列
原始转换结果往往是错位的,因为字段名长度不一、类型含括号、注释为空时占位缺失。列选择(Alt+拖选)在这里极易出错——中英文混排下,中文字符宽度 ≠ ASCII,Sublime 按字符数定位,不是像素对齐。
更稳的做法是用多光标 + 正则补分隔符:
- 先确保每行都是
|a|b|c|格式(哪怕 c 为空),用查找\|$替换为|统一结尾空格 - 把光标放在所有第一个
|后:Ctrl+F → 输入\|→ 勾选正则 → Find All → Ctrl+Shift+M 全选匹配项 → 按 → 移到竖线右侧 - 此时输入空格,所有字段名右侧同步加空格;再重复对第二个
|操作,对齐类型列 - 最后用 Table Editor 插件:光标任一单元格内 → Ctrl+Shift+P →
Align Table,它会按实际内容重算列宽
宏录制失败的三个硬性条件
想录个“加表头+对齐+补空注释”的宏?90% 失败是因为路径、命名、后缀没对齐。Sublime 不报错,只静默跳过。
输入文章 URL,返回干净 Markdown。支持17个平台(头条、微信公众号、知乎、36kr、虎嗅、华尔街见闻、澎湃、InfoQ 等)专项优化,双引擎提取、图片本地化、三层抓取策略。常与 browser‑web‑search skill配合:先用 bws 搜索获取 url 列表,再逐篇调用本 skill 提取正文。
必须同时满足:
- 文件名以
.sublime-macro结尾,比如ddl_to_md.sublime-macro,不能是.json或漏掉- - 必须存进
Packages/User/目录(Preferences → Browse Packages… 打开该路径,拖进去) - 调用时
run_macro_file的file参数写全路径:"Packages/User/ddl_to_md.sublime-macro",斜杠用正斜杠/,大小写敏感
另外,宏不记录鼠标操作——录制时别点侧边栏、别弹出查找框、别用鼠标拖选行。全程用 Ctrl+L(逐行)、Ctrl+D(选词)、Ctrl+Shift+↓(扩选)这类键盘命令。
为什么表格预览总崩,但代码看着没问题
MarkdownPreview 或 OmniMarkupPreviewer 渲染空白,大概率不是语法写错,而是表格结构不合规。插件对 Markdown 表格有隐式要求:必须有表头行、必须有分隔行(|---|---|)、单元格内不能有未转义的 |。
常见踩坑点:
- DDL 提取时漏了某字段的
COMMENT,导致某行只有两个|,整张表被当作文本渲染 - 字段名或注释里含管道符,比如
status | state,没写成status \| state,插件切列错位 - 最后一行没换行符,导致分隔行
|---|---|被吞进上一行末尾,预览器无法识别表格起始
真正麻烦的是:这些错误在 Sublime 编辑器里看不出来,只有预览时才暴露。每次改完,务必 Ctrl+Shift+M 看一眼,别等导出 PDF 才发现表格全散了。

















