L O A D I N G
↓ 向下滚动进入
ORIZURU

Obsidian 里的无限画布:Excalidraw 从画第一个方块到批量出图

这篇假设你已经装好了 Obsidian,但从没画过图,也不觉得自己”会画画”。 好消息是:这个工具的美学基础就是”画得像草稿”,所以画得糙反而是对的。

全文约 35 分钟,动手部分约 15 分钟。 第七章开始是给”配图变多了以后”准备的,第一次读可以先跳过。

这是 Obsidian 系列三篇的第三篇:

  1. 《不是又一个笔记软件:Obsidian 从下载到真正用起来》
  2. 《让 Claude Code 住进你的笔记库:Claudian 完全指南》
  3. 本篇——把想法画出来

零、先看成品

Excalidraw 适合画什么本系列十七张配图,全是它画的适合不适合讲清一个概念的示意图精确到像素的 UI 稿流程图、决策树、时间线层级很深的系统架构图会议白板、临时草稿多人同时编辑的场景读书笔记里的手绘配图数据图表,有更专业的工具它的杀手锏是手绘风:看起来像草稿,读者就不会纠结细节,只看你想讲的那个结构

你现在看到的这张图,还有这个系列里全部 17 张配图,都是 Excalidraw 画的。

0.1 它适合画什么

  • 讲清一个概念的示意图(左右对照、上下分层)
  • 流程图、决策树、时间线
  • 会议白板、临时草稿
  • 读书笔记里的手绘配图

0.2 它不适合画什么

  • 精确到像素的 UI 稿——用 Figma
  • 层级很深的系统架构图——线会绕成一团
  • 需要多人同时编辑的场景——它是单机的
  • 数据图表——有更专业的工具

0.3 它的杀手锏是”手绘风”

这一点值得单独说,因为它不只是好看的问题。

当一张图看起来像随手画的草稿,读者就不会去纠结细节——不会想”这两个框为什么不一样宽”、“这个圆角是不是有讲究”。他们只看你想讲的那个结构。

而一张画得精致的图,读者会下意识地认为每个细节都有意义,于是注意力被分散了。

**图的目的是让人快点看懂,不是展示你的审美。**手绘风是达成这个目的的手段。


一、装上,画出第一个方块

1.1 安装

设置 → 第三方插件(新版叫”社区插件”)→ 浏览 → 搜 Excalidraw → 安装 → 启用。

作者是 zsviczian。这是 Obsidian 生态里最成熟的插件之一,装完不需要任何配置就能用。

它的设置里有简体中文,可以在插件设置最上方切。

1.2 新建一张画板

三个办法,随便挑:

  • 左侧工具条上多出来的那个铅笔图标,点一下
  • 命令面板(Cmd/Ctrl + P)→ 搜 Excalidraw → 选”新建画板”
  • 在文件列表里右键某个文件夹 → 新建 Excalidraw 画板

新建之后你会看到一张白纸和左上角一排工具。试着画一个方块:按 R(或者点矩形工具),在画布上拖一下。

恭喜,你已经会用了。剩下的都是熟练度问题。

1.3 它其实是一个 Markdown 文件

画板其实是一个 Markdown 文件所以它能被搜索、被链接、被版本管理我的图.excalidraw.mdfrontmatterexcalidraw-plugin: parsed## Text Elements画板里所有文字的纯文本副本## Drawing一段 JSON,图形的真正数据双击进画板模式右上角三个点可以切回源码看三个直接好处一 全库搜索能搜到画板里的字因为文字有一份纯文本副本二 画板里可以放 [[链接]]点一下直接跳到那篇笔记三 Git 管得住它JSON 的 diff 不好看,但至少不会丢

这是 Obsidian 版 Excalidraw 和网页版最关键的差别,也是它值得单独学的原因。

你画的这张板子,在硬盘上是一个叫 未命名.excalidraw.md 的文件。用命令面板里的”切换到 Markdown 视图”(或者右上角的菜单)打开它的源码,你会看到三部分:

markdown
---
excalidraw-plugin: parsed
tags: [excalidraw]
---

# Excalidraw Data

## Text Elements
这里是画板上所有文字的纯文本副本

%%
## Drawing
```json
{ ...一大段 JSON,图形的真正数据... }
```
%%

这个结构带来三个直接好处:

一、全库搜索能搜到画板里的字。

因为 ## Text Elements 那一段是纯文本。你半年前在某张图里写过”费曼学习法”,今天全库搜索能搜出来。这一点是网页版 Excalidraw 完全做不到的。

二、画板里可以放 [[链接]]。

在画板的文本里写 [[某篇笔记]],它会变成可点击的链接,点一下直接跳过去。你的图成了知识库的一部分,而不是一张贴在旁边的图片。

三、Git 管得住它。

虽然 JSON 的 diff 不好看,但至少它是文本,能进版本库,不会因为二进制冲突而丢。


二、工具栏:只学真正会用的

左上角那排工具,实际高频的就六个,每个都有单键快捷键:

工具快捷键什么时候用
选择V 或 1默认状态,选中、移动、缩放
矩形R 或 2画框,最常用
箭头A 或 5连线,第二常用
文本T 或 8写字
画笔P 或 7随手涂
橡皮E 或 0擦

再加四个通用操作:

  • 移动画布:按住空格拖,或者鼠标中键拖
  • 缩放:Cmd/Ctrl + 滚轮
  • 回到全部内容:Shift + 1(画着画着找不着北了,按它)
  • 等比/正方形:画的时候按住 Shift

右侧的样式面板控制颜色、填充、线条粗细、字号。选中元素之后它才会出现。

新手最容易忽略的一点:先选中,再改样式。很多人在没选中任何东西的时候改样式,那是在改”下一次画的默认值”。


三、五个真正提效的功能

这五个学会了,你的作图速度会变成原来的三倍。

3.1 箭头会自动绑定

画箭头的时候,把起点靠近一个方块,方块会高亮——这时候松手,箭头就”绑”在这个方块上了。

绑定之后,你拖动方块,箭头会自动跟着走、自动调整长度和角度。

没绑上的箭头是死的,方块一动它就掉队。所以画流程图时务必确认每根箭头两端都高亮过。

3.2 文字可以住在框里

双击一个矩形,直接开始打字——文字就成了这个矩形的”容器文字”。

好处是:文字和框永远绑在一起,拖框文字跟着走,改文字框会自动变高,文字自动居中和换行。

对比一下:如果你用文本工具单独打字然后拖到框里,那是两个独立的元素,一动就散。

3.3 复制样式

调好一个方块的颜色、边框、圆角之后,想让别的方块也一样:

  • Alt/Option + 拖拽:直接复制一份出来,最省事
  • 右键 → 复制样式 / 粘贴样式:只复制外观,不复制内容

一张图里保持样式统一,观感立刻专业一个档次。

3.4 元素库(Library)

右上角的书本图标,是你的素材库。

用法:选中一组画好的东西 → 点”添加到库”。以后从库里拖出来就能用。

它还能从官方素材库下载别人做好的图标包——流程图符号、UI 组件、各种小人。搜 “Excalidraw library” 能找到官方站点。

给你一个立刻能用的建议:把你常用的那套配色方块(比如”蓝色标题框”、“绿色结论框”、“红色警告框”)存进库里。以后所有图风格统一,还不用每次调色。

3.5 锁定

画完背景、分组框之后,按 Cmd/Ctrl + Shift + L 锁定它们。

锁定后的元素点不中、拖不动,你在上面操作的时候不会误伤。

这个功能在图变复杂之后是刚需——不锁的话,你想拖一个小箭头,结果拖动了整个背景框,这种事一天能发生二十次。


四、Obsidian 独占的能力

画板和笔记可以互相嵌笔记 A.md画板 B.excalidraw.md![[画板B]]画板里写 [[笔记A]],或整篇嵌进去笔记里嵌画板改画板,所有引用它的笔记自动更新画板里嵌笔记笔记内容变了,画板里那块自动跟着变还能只嵌一部分:给画板里的元素分组命名,然后只嵌那一块深色模式设置里开自动反色,白底图夜里也不刺眼透明背景导出时取消勾选背景,图能融进任何主题上站到网站时建议仍然用白底 PNG,透明图在深色主题下常常糊成一片

前面三章的内容,网页版 Excalidraw 也有。这一章开始才是 Obsidian 版真正的价值。

4.1 笔记里嵌画板

在任何一篇笔记里写:

markdown
![[我的图.excalidraw]]

画板就渲染成图片显示在笔记里了。

关键在于:这不是一张静态图片,而是一个实时引用。你改画板,所有引用它的笔记同时更新,不需要重新导出、重新插入。

4.2 画板里嵌笔记

反过来也行:在画板里可以嵌入一篇笔记,笔记的内容会显示在画板的一个框里。

用法:在画板里画一个矩形 → 用插件的”插入笔记/嵌入”相关命令选一篇笔记。

好处是:**笔记内容改了,画板里那块自动跟着变。**做知识地图、做项目看板的时候特别有用。

4.3 只嵌一部分

一张大画板上画了五块内容,想在五篇不同的笔记里各嵌一块——可以。

做法:选中要单独引用的那一组元素,用插件提供的”复制元素/分组的链接”命令,把生成的链接粘进笔记。或者用 Frame(画框)工具把那一块框起来、起个名字,然后引用这个 Frame。

别自己手打这个语法,让插件的命令生成,不容易出错。

4.4 画板里的链接

在画板的文本里写 [[某篇笔记]],它会变成可点的链接。

这一条我强烈建议养成习惯:画流程图时,每个节点如果对应库里的一篇笔记,就顺手链上。

于是你的图变成了一张真正的导航地图——看着图想深入哪一块,点一下就进去了。

4.5 深色模式

Obsidian 用深色主题时,白底的图会很刺眼。

插件设置里有一项自动反色(把画板在深色主题下渲染成深色)。开了之后阅读体验好很多。

但注意:反色只影响你在 Obsidian 里看到的样子,导出的图还是原样。


五、导出:把图拿出去用

5.1 基本操作

右上角菜单 → 导出图片(Export image)。

弹出的面板里有几个选项,逐个说:

  • 格式:PNG 还是 SVG。发网站、发微信用 PNG;要能无限放大、且目标平台支持的话用 SVG
  • 缩放倍数:默认 1x 是不够的。屏幕上看着清楚,发到手机上就糊了。统一用 2x,重要的图用 3x
  • 背景:勾上是白底,取消是透明
  • 深色导出:把图导成深色版
  • 内嵌场景:勾上之后,导出的 PNG 里会藏着原始数据——别人拿到这张 PNG,能用 Excalidraw 打开继续编辑。代价是文件大不少

5.2 别用截图代替导出

新手最常见的错误:直接截屏。

截屏得到的是屏幕分辨率的图,放大就糊,而且会带上界面元素。导出功能生成的是真正的高清图,两者差距很大。

5.3 给单张图设置固定的导出参数

如果某张图你每次都要用同样的参数导出,可以把参数写进它的 frontmatter,省得每次调:

markdown
---
excalidraw-plugin: parsed
excalidraw-export-pngscale: 2
excalidraw-export-transparent: false
excalidraw-export-padding: 20
---

常用的几个键:

  • excalidraw-export-pngscale — PNG 导出倍数
  • excalidraw-export-transparent — 是否透明背景
  • excalidraw-export-dark — 是否导出深色版
  • excalidraw-export-padding — 图形周围留白
  • excalidraw-autoexport — 保存画板时自动导出一份图片文件

最后那个 excalidraw-autoexport 值得关注:开了之后你每次改完画板,旁边就自动生成一份最新的 PNG/SVG。如果你要把笔记发到网站上,这个能省掉手动导出这一步。

5.4 上站时的注意事项

把画板发到个人网站,有三件事要处理:

**一、嵌入语法要换。**Obsidian 里是 ![[我的图.excalidraw]] 或 ![[我的图.png]],网站上要换成标准 Markdown:![说明文字](/images/我的图.png)。

**二、深色主题下的白底图。**网站如果有深色模式,白底 PNG 会突兀。建议仍然用白底,然后给图片容器加一层白色内衬和圆角——比用透明图靠谱,透明图在深色背景下常常糊成一片。

三、文件名里别带特殊符号。+、#、空格、& 这些在 URL 里都要转义,很容易出问题。中文文件名一般没事,但保险起见可以用英文编号,比如 EX-01-xxx.png。

**四、移动端。**图宽两千多像素,手机上会缩得看不清字。给图片加上点击放大。


六、脚本引擎(进阶)

插件内置一个脚本引擎叫 ExcalidrawAutomate,可以用 JavaScript 操作画板:批量改颜色、自动排版、按规则生成图形。

它还有一个官方脚本库:设置里能一键下载别人写好的脚本,比如:

  • 自动把选中的元素排成网格
  • 按连线关系自动布局
  • 把选中的文字转成思维导图

**新手不需要碰这个。**知道有这么个东西就行,等你觉得”这个操作我一天要重复五十次”的时候再回来找。


七、配图多了以后:用脚本管,别用手改

配图多了以后:用脚本管,别用手改一份 spec写在脚本里的纯文本excalidraw.md 源文件进 Excalidraw/,随时能手改PNG 图片进 attachments/,正文和上站都用它改文案 → 重跑脚本 → 两样同时更新,永远不会出现「图改了源没改」适合脚本画的结构规整的对照表、流程图、清单适合手画的草图、有机形状、要美感的图

这一章是给”要做系列内容”的人准备的。如果你只是偶尔画一张图,可以跳过。

7.1 手工维护配图的三个必然问题

当一个系列有十几二十张图之后,你一定会遇到:

  1. 改一个错字要重走一遍流程:打开画板 → 改 → 导出 → 覆盖旧图 → 检查笔记里显示对不对
  2. 图和源文件对不上:某次你直接改了导出的 PNG(或者在别处改了图),源画板还是旧的
  3. 风格漂移:第 15 张图的配色和第 1 张已经不一样了,因为中间你手动调过颜色

7.2 解法:单一数据源

把所有图的内容和布局写成一份纯文本 spec,放在一个脚本里,然后让脚本同时产出两样东西:

  • .excalidraw.md 源文件 → 放进库里,随时能在 Obsidian 里手改
  • .png 图片 → 放进附件文件夹,正文和网站都用它

**改文案 → 重跑脚本 → 两样同时更新。**永远不会出现”图改了源没改”。

7.3 这套东西怎么来

你不需要会写代码。

第二篇讲的 Claudian 就是干这个的:你用大白话描述每张图要讲什么、分几块、什么颜色代表什么,让它写出脚本。以后改文案,你改脚本里那一行字符串就行。

这个系列的 17 张图就是这么来的。脚本里还内置了一个溢出检测——文字超出框宽会在控制台告警,所以你不会出现”字被切掉一半”的图。

7.4 什么该用脚本,什么该手画

适合脚本适合手画
结构规整的对照表随手草图
流程图、决策树有机形状、不规则布局
清单类、编号步骤需要美感和留白节奏的图
同一套模板出很多张一次性的、独一无二的图

**别走极端。**脚本适合”重复且规整”的部分,手画适合”一次性且需要判断”的部分。这个系列里,17 张全走脚本是因为它们都是结构图;如果要画一张情绪化的封面,我还是会手画。


八、翻车速查

出问题时按这个顺序查1打不开或一片空白先看插件是不是最新版,再重启 Obsidian2中文变方块设置里把字体换成系统中文字体,或者嵌入字体后再导出3导出发虚导出倍率调到 2 倍或 3 倍,别用截图代替导出4文件越来越大检查是不是粘了大图进去,图片会整个存进文件里5改崩了想回退用 Obsidian 自带的文件恢复,或者 Git 回上一版

画板打不开,或者一片空白 先看插件是不是最新版(设置 → 社区插件 → 检查更新),然后重启 Obsidian。如果是从别的设备同步过来的文件,可能是同步还没完成。

中文变成方块或者豆腐块 Excalidraw 默认字体不含中文。插件支持 CJK 字体配置,在设置里指定一个系统中文字体。 如果是导出后才变方块(Obsidian 里显示正常),说明导出时没嵌入字体——在导出设置里找字体嵌入相关的选项打开。

导出的图发虚 导出倍数还是 1x。调到 2x 或 3x。再确认一次你用的是”导出图片”而不是截屏。

画板文件越来越大 八成是你往画板里粘了大图。Excalidraw 会把图片整个存进文件里(转成 base64),一张 2MB 的照片会让画板文件直接大 3MB。 对策:插件设置里有”把粘贴的图片转存为库内文件”的选项,开了之后图片会单独存成文件,画板里只放引用。

改砸了想回退

  • 刚改完:Cmd/Ctrl + Z
  • 已经保存关掉了:Obsidian 核心插件”文件恢复”里有历史快照
  • 配了 Git 的话,直接回上一版

嵌在笔记里的图不更新 切一下标签页,或者关掉笔记重开。Obsidian 的缓存偶尔会滞后。

箭头连了但方块一动就散 箭头没绑上。删掉重画,画的时候确认端点接触方块时方块有高亮。


九、七天上手路径

  • 第 1 天:装上,画一张最简单的三个方块加两根箭头的流程图
  • 第 2 天:把三个方块链到你库里的三篇笔记([[]]),感受一下”图变成导航”
  • 第 3 天:调一套自己的配色,存进元素库
  • 第 4 天:给一篇现有笔记配一张图,用 ![[]] 嵌进去
  • 第 5 天:试一次导出,2x,发到手机上看看清不清楚
  • 第 6-7 天:如果你开始觉得”每张图都要重复调样式好烦”——回到第七章

本系列另外两篇:

笔记属性
readtime
15
wordcount
4225