Trilium Notes 进阶:数据备份与进阶使用技巧
在数字化时代,个人知识管理变得越来越重要,而 Trilium Notes 作为一款强大的开源笔记管理工具,能够帮助用户高效整理和存储信息。它支持树状结构、富文本编辑、标签管理、数据同步,并且提供了多种方式进行数据备份和导出,确保你的笔记数据安全可靠。
然而,许多用户在使用 Trilium 时,可能会遇到数据备份、数据导入导出、数据同步等问题。本教程将详细介绍 Trilium 的进阶使用技巧,帮助你更好地管理笔记,让你的知识库更加系统化和安全。
⚠️ 重要更新:原项目作者 zadam 已将 Trilium Notes 项目移交给社区团队 TriliumNext 继续维护。2025 年 9 月,TriliumNext 发布了首个稳定版本,完全兼容原有数据库(v0.90.4 及之前版本)。截至 2026 年 1 月,最新版本为 v0.101.3,带来了全新的 UI 布局、React 组件迁移、以及多项安全更新。官方文档已迁移至 docs.triliumnotes.org。
一、数据备份
数据备份是确保笔记安全的关键步骤。Trilium 采用 SQLite 数据库来存储笔记,因此只需要备份相应的数据库文件,就可以完整保留所有笔记数据。无论是手动备份还是自动云存储同步,都能有效防止数据丢失。
(一)手动备份
手动备份适用于希望自己完全掌控数据的用户。虽然需要手动操作,但整个流程非常简单。
Trilium 的所有数据都存储在数据库文件 document.db 中,该文件位于应用程序的数据目录下。💡 最简便的方法是通过 Trilium 界面查看数据目录位置:点击左上角「菜单」→「关于 Trilium Notes」,即可看到当前使用的数据目录路径。
各操作系统的默认数据目录位置如下:
| 操作系统 | 默认数据目录路径 |
|---|---|
| 🪟 Windows | C:\Users\你的用户名\AppData\Roaming\trilium-data\ |
| 🍎 macOS | ~/Library/Application Support/trilium-data/ |
| 🐧 Linux | ~/.local/share/trilium-data/ |
📁 数据目录包含的关键文件:
document.db— 主数据库文件,包含所有笔记、树状结构、元数据和大部分配置document.db-wal— 预写日志文件(Write-Ahead Log),用于提升数据库性能document.db-shm— 共享内存文件,用于数据库并发控制backup/— Trilium 自动备份目录,包含backup-daily.db和backup-weekly.dblog/— 日志文件目录
📋 手动备份步骤
1️⃣ 关闭 Trilium 应用程序
- 这一步至关重要,因为 SQLite 数据库在运行时会锁定文件
- 确保任务栏或系统托盘中没有 Trilium 进程在运行
- ⚠️ 如果在 Trilium 运行时复制数据库,可能导致备份文件损坏或数据不完整
2️⃣ 定位并复制数据库文件
- 找到
document.db文件 - 建议同时复制
document.db-wal和document.db-shm文件(如果存在),以确保备份的完整性 - 将文件复制到安全位置:U 盘、外接硬盘、NAS 或云存储
3️⃣ 使用日期命名备份文件
- 为了方便管理不同时间的备份,建议在文件名后加上日期
- 例如:
document_20260203.db - 这样在需要恢复数据时,可以选择特定时间点的备份
🔄 从备份恢复数据
当你需要恢复数据时,按以下步骤操作:
1️⃣ 确保 Trilium 已完全关闭
2️⃣ 删除当前数据目录中的以下文件(如果存在):
document.dbdocument.db-waldocument.db-shm
3️⃣ 将备份的 document.db 文件复制到数据目录
4️⃣ (Linux/macOS)设置正确的文件权限:
chmod 600 document.db5️⃣ 启动 Trilium,验证数据是否正确恢复
⚠️ 同步集群注意事项:如果你配置了服务器同步,恢复备份时需要在所有同步设备上执行相同操作。否则,旧版本(恢复的备份)会被检测到并同步到新版本,导致数据覆盖。
🗂️ 利用 Trilium 内置备份
Trilium 会自动创建备份文件,存放在 数据目录/backup/ 文件夹中:
| 备份类型 | 文件名 | 说明 |
|---|---|---|
| 每日备份 | backup-daily.db | 每天自动更新 |
| 每周备份 | backup-weekly.db | 每周自动更新 |
这些内置备份可以作为恢复数据的快速选择,但建议仍然定期进行手动备份到外部存储,以防止本地存储故障导致所有备份丢失。
(二)使用云存储自动备份
如果你经常更新笔记,手动备份可能会显得繁琐。此时,使用云存储(如 Google Drive、OneDrive、Dropbox、坚果云等)来同步备份文件,是一个更加便捷的选择。
⚙️ 设置步骤
1️⃣ 在云存储服务中创建专用文件夹
- 例如创建名为「Trilium 备份」的文件夹
- 确保该文件夹在你的设备上启用了同步
2️⃣ 定期复制数据库文件到云存储文件夹
- 每次退出 Trilium 后,手动复制
document.db到云存储文件夹 - 云存储客户端会自动将文件同步到云端
3️⃣ 在其他设备上恢复
- 从云存储下载最新的
document.db文件 - 按照前文的恢复步骤操作
⚠️ 重要注意事项
🚫 切勿在多个设备上同时编辑同一个
document.db文件!
document.db是一个 SQLite 数据库文件,不支持并发编辑。如果多个设备同时修改该文件,可能会导致:
- 数据冲突
- 数据库文件损坏
- 笔记内容丢失
正确做法:每次只在一台设备上编辑,编辑完成后关闭 Trilium,再同步到云端。
💡 如果需要真正的多设备实时同步,请使用 Trilium 官方的服务器同步功能(详见「数据同步」章节)。
🔧 进阶:使用环境变量自定义数据目录
如果你希望将 Trilium 数据目录直接放在云存储同步文件夹中,可以通过设置环境变量 TRILIUM_DATA_DIR 来实现:
Windows (PowerShell):
$env:TRILIUM_DATA_DIR = "D:\OneDrive\TriliumData"macOS/Linux (bash):
export TRILIUM_DATA_DIR="/path/to/your/cloud/TriliumData"此外,还可以单独配置备份和日志目录:
TRILIUM_BACKUP_DIR— 自定义备份目录位置TRILIUM_LOG_DIR— 自定义日志目录位置
二、数据导入
如果你之前使用的是 Markdown 文档、Evernote 或其他笔记软件,Trilium 提供了多种方式来导入现有数据,让你可以无缝迁移到 Trilium。
(一)导入 Markdown
Markdown 是一种通用的文本格式,许多笔记工具(如 Obsidian、Typora、VS Code、Notion 等)都支持 Markdown。如果你之前使用 Markdown 进行笔记管理,可以将 Markdown 文件导入 Trilium。
📋 导入步骤
1️⃣ 准备 Markdown 文件
- ⚠️ 重要:Trilium 要求将 Markdown 文件打包成 ZIP 压缩包,因为浏览器无法直接读取文件夹目录
- 将你的
.md文件和相关图片打包成.zip文件
2️⃣ 执行导入操作
- 在 Trilium 界面中,点击「菜单」→「导入和导出」→「导入到笔记」
- 选择你的 ZIP 压缩包
- Trilium 会自动解析并创建笔记
3️⃣ 检查导入结果
- Trilium 会将 Markdown 内容转换为富文本格式
- 标题、列表、代码块、图片等格式会被保留
📝 Markdown 语法支持说明
Trilium 主要遵循 GitHub Flavored Markdown (GFM) 语法,支持以下格式:
| 格式类型 | 支持情况 | 说明 |
|---|---|---|
| 标题 (h1-h6) | ✅ 完全支持 | |
| 粗体、斜体 | ✅ 完全支持 | |
| 列表 | ✅ 完全支持 | 有序、无序、任务列表 |
| 代码块 | ✅ 完全支持 | 支持语法高亮 |
| 表格 | ✅ 完全支持 | |
| 链接 | ✅ 支持 | |
| 图片 | ✅ 支持 | 相对路径图片需在同一 ZIP 包中 |
| 数学公式 | ✅ 支持 | LaTeX 语法 |
| Wikilinks | ⚠️ 仅导入时支持 | [[链接]] 语法会被转换为 Trilium 内部链接格式,但导出时不会转换回 Wikilinks |
🔄 从 Obsidian 迁移
如果你从 Obsidian 迁移,需要注意 Obsidian 的一些特殊语法:
- Obsidian 使用
[[Wikilinks]]格式的内部链接,Trilium 在导入时会尝试转换 - 推荐使用 trilium-py 工具来处理 Obsidian vault 的导入,该工具能更好地处理 Obsidian 特有的链接格式和文件结构
使用 trilium-py 导入 Obsidian vault:
# 安装 trilium-py
pip install trilium-py
# 使用 trilium-py 的导入功能处理 Obsidian vault(二)导入 Evernote(ENEX 文件)
如果你之前使用的是 Evernote(印象笔记),可以通过 ENEX 文件将笔记批量导入 Trilium。
⚠️ 重要提示:Evernote 导出格式变更
最新版本的 Evernote 客户端已不再提供 ENEX 文件导出选项,而是改用了新的加密备份格式(其他应用无法读取)。如果你需要获取 ENEX 文件,有以下几种方法:
- 使用 Evernote 网页版导出(部分地区仍可用)
- 使用旧版本 Evernote 客户端
- 使用开源工具 evernote-backup 来导出 ENEX 文件
📋 从 Evernote 导出 ENEX 文件
方法一:使用 Evernote 桌面客户端(旧版本)
- 右键点击笔记本
- 选择「导出笔记」
- 选择「ENEX 文件格式」进行保存
- 一个 ENEX 文件对应一个笔记本的内容
方法二:使用 evernote-backup 工具
# 安装工具
pip install evernote-backup
# 初始化(需要 Evernote 登录)
evernote-backup init-db
# 导出为 ENEX 文件
evernote-backup export output_directory/📋 在 Trilium 中导入 ENEX 文件
1️⃣ 点击「菜单」→「导入和导出」→「导入到笔记」
2️⃣ 选择 .enex 文件
3️⃣ Trilium 会自动解析笔记内容并导入
⚠️ 导入注意事项
- 资源文件处理:所有附件(图片除外)会被创建为笔记的附件
- 格式兼容性:ENEX 文件中的 HTML 格式可能不完全标准,部分格式可能丢失或显示异常
- 建议:导入后检查重要笔记,必要时手动调整格式
(三)导入 OPML 文件
Trilium 支持 OPML(Outline Processor Markup Language)格式的导入,这对于从大纲类工具(如 OmniOutliner、WorkFlowy、Dynalist 等)迁移非常有用。
支持的 OPML 版本:
- OPML v1.0 — 纯文本大纲
- OPML v2.0 — 支持 HTML 格式的大纲
导入步骤与 Markdown 相同:「菜单」→「导入和导出」→「导入到笔记」→ 选择 .opml 文件。
(四)从其他应用迁移
除了上述格式,Trilium 社区还提供了工具支持从更多应用迁移:
| 来源应用 | 迁移方法 |
|---|---|
| Joplin | 使用 trilium-py 导入 |
| Logseq | 使用 trilium-py 导入 |
| Obsidian | 先转换为标准 Markdown,再用 trilium-py 处理 |
| Notion | 导出为 Markdown + CSV,再导入 Trilium |
三、数据导出
如果你希望将 Trilium 笔记导出到其他工具,或者做额外备份,Trilium 提供了多种导出方式。
(一)导出 Markdown
Markdown 是最通用的笔记格式,便于在其他编辑器中使用。
📋 导出步骤
1️⃣ 选中要导出的笔记或笔记本(可多选)
2️⃣ 点击「菜单」→「导入和导出」→「导出子树」
3️⃣ 选择「Markdown」格式
4️⃣ 选择存储位置,Trilium 会生成 ZIP 压缩包,包含 .md 文件和相关资源
⚠️ 导出注意事项
由于 Trilium 使用 CKEditor 作为文本编辑器(基于 HTML),导出为 Markdown 时可能会丢失部分格式:
- Trilium 特有的内部链接格式不会自动转换为 Wikilinks
- 一些高级格式(如告示框/Admonition)可能无法完整保留
- 建议导出后检查重要内容的格式
(二)导出 HTML
如果你需要一个可以直接在浏览器中打开查看的文件,可以使用 HTML 导出功能。
📋 导出步骤
1️⃣ 选中笔记或笔记本
2️⃣ 点击「菜单」→「导入和导出」→「导出子树」
3️⃣ 选择「HTML」格式
4️⃣ 选择存储位置
优点:HTML 是 Trilium 的原生格式,导出时能最完整地保留格式和样式。
注意:HTML 不是标准化的笔记交换格式,某些 Trilium 特有功能(如告示框、内部链接)可能不被其他应用支持。
(三)导出 OPML
如果你需要将笔记导出到大纲类工具,可以选择 OPML 格式:
1️⃣ 选中笔记或笔记本
2️⃣ 点击「菜单」→「导入和导出」→「导出子树」
3️⃣ 选择「OPML」格式
OPML 导出会保留笔记的层级结构,适合导入到 OmniOutliner、WorkFlowy 等工具。
📊 导出格式对比
| 格式 | 适用场景 | 格式保留度 | 通用性 |
|---|---|---|---|
| Markdown | 迁移到其他笔记应用 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| HTML | 浏览器查看、网页发布 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| OPML | 大纲工具迁移 | ⭐⭐ | ⭐⭐⭐ |
四、数据同步
Trilium 支持多设备同步,提供了服务器同步和云存储同步两种方式。对于需要真正实时同步的用户,强烈推荐使用服务器同步方案。
(一)使用 Trilium 服务器同步
Trilium 的同步架构采用星型拓扑结构:一个中央服务器(称为 sync server)与多个客户端(桌面或网页)进行同步。一旦配置完成,同步是自动且持续进行的,无需手动干预。
🖥️ 服务器部署方式
Trilium 服务器支持多种部署方式:
| 部署方式 | 难度 | 适合人群 |
|---|---|---|
| 🐳 Docker 部署 | ⭐⭐ | 熟悉 Docker 的用户 |
| 📦 手动安装 | ⭐⭐⭐ | 需要精细控制的用户 |
| ☸️ Kubernetes | ⭐⭐⭐⭐ | 企业级部署 |
| 🧊 NixOS | ⭐⭐⭐ | NixOS 用户 |
🐳 使用 Docker 部署服务器(推荐)
Docker 是最简便的服务器部署方式:
# 拉取最新镜像
docker pull triliumnext/trilium
# 运行容器
docker run -d \
--name trilium \
-p 8080:8080 \
-v ~/trilium-data:/home/node/trilium-data \
triliumnext/trilium部署完成后,通过浏览器访问 http://服务器IP:8080 即可进入 Trilium Web 界面。
🔗 连接桌面客户端到服务器
⚠️ 重要前提:客户端和服务器的 Trilium 版本必须一致!版本不匹配将导致同步失败。
连接步骤:
1️⃣ 安装桌面版 Trilium(确保版本与服务器一致)
2️⃣ 首次启动时,选择「设置与同步服务器的同步」选项
3️⃣ 输入服务器地址:http://你的服务器IP:8080(或使用域名)
4️⃣ 输入服务器的用户名和密码
5️⃣ 点击「完成设置」
6️⃣ 如果连接成功,系统会自动开始同步,完成后进入主界面
🔐 安全配置(重要)
⚠️ 强烈建议使用 HTTPS 而非 HTTP!
如果不使用加密连接,你的笔记内容(包括密码、敏感信息)将以明文形式在网络上传输,存在被窃听的风险。
推荐做法:
- 使用反向代理(如 Nginx、Caddy)配置 SSL 证书
- 可以使用免费的 Let's Encrypt 证书
- 对于自签名证书,可能需要在客户端设置
NODE_TLS_REJECT_UNAUTHORIZED=0(不推荐,存在中间人攻击风险)
设置 HTTPS 的示例(使用 Caddy 作为反向代理):
trilium.yourdomain.com {
reverse_proxy localhost:8080
}⏰ 同步要求
为确保同步正常工作,请注意以下要求:
- ✅ 时间同步:所有设备(服务器和客户端)的系统时间必须准确,误差不超过 5 分钟
- ✅ 网络连通性:客户端需要能够访问服务器的同步端口
- ✅ 版本一致:客户端和服务器版本必须匹配
- ✅ 点击「测试同步」按钮验证连接是否成功
(二)使用云存储同步
对于不想搭建服务器的用户,可以使用 Google Drive、OneDrive、Dropbox 等云存储服务同步 document.db 文件。
📋 操作步骤
在 A 设备上:
- 完全关闭 Trilium
- 将
document.db复制到云存储同步文件夹 - 等待云存储完成上传
在 B 设备上:
- 确保 Trilium 已关闭
- 从云存储下载
document.db - 覆盖本地数据目录中的
document.db - 启动 Trilium
⚠️ 云存储同步的局限性
| 方面 | 服务器同步 | 云存储同步 |
|---|---|---|
| 实时性 | ✅ 实时同步 | ❌ 需手动操作 |
| 多设备同时使用 | ✅ 支持 | ❌ 不支持 |
| 冲突处理 | ✅ 自动处理 | ❌ 可能损坏数据 |
| 配置难度 | 中等 | 简单 |
| 适合场景 | 多设备协作 | 单设备备份 |
(三)移动端访问
目前 Trilium 没有官方移动应用,但提供以下访问方式:
📱 方式一:PWA(渐进式 Web 应用)
如果你部署了 Trilium 服务器,可以通过移动浏览器访问,并将其安装为 PWA:
- 在移动浏览器中打开服务器地址
- 选择「添加到主屏幕」
- 获得类似原生应用的体验
📱 方式二:TriliumDroid(Android 非官方客户端)
TriliumDroid 是由社区开发的 Android 客户端,支持离线使用。
特点:
- 支持与 Trilium 服务器同步
- 支持离线编辑
- ⚠️ 需要确保 TriliumDroid 版本与服务器版本兼容
- 可通过 F-Droid (IzzyOnDroid 仓库) 或直接下载 APK 安装
安装建议:
使用 TriliumDroid 时,建议禁用服务器端的自动更新功能,以避免版本不匹配导致同步失败。
五、标签管理
在 Trilium 中,虽然笔记是以树状结构组织的,但这并不意味着所有笔记都必须严格按照层级进行归类。很多时候,一条笔记可能同时属于多个类别。例如,一篇关于「人工智能」的笔记,既可以归类到「科技」目录,也可以归到「机器学习」目录。同样,一个「项目管理技巧」的笔记,既可以放在「工作技巧」里,又可以归入「团队管理」里。
为了方便跨类别管理,Trilium 提供了强大的属性(Attributes)系统,其中标签(Labels) 是最常用的功能之一。
📌 理解 Trilium 的属性系统
Trilium 中的属性分为两类:
| 属性类型 | 前缀 | 说明 | 示例 |
|---|---|---|---|
| 标签(Labels) | # | 键值对形式的元数据 | #重要、#year=2026、#status=进行中 |
| 关系(Relations) | ~ | 定义笔记之间的关联 | ~模板、~相关笔记 |
标签可以有值,也可以没有值:
- 无值标签:
#重要、#工作笔记 - 有值标签:
#year=2026、#author=张三、#priority=高
🏷️ 添加标签
方法一:通过属性面板
1️⃣ 打开笔记
2️⃣ 在右侧面板找到「拥有的属性」(Owned Attributes)区域
3️⃣ 点击 ➕ 按钮
4️⃣ 选择「添加新标签」
5️⃣ 输入标签名称(可选择性添加值)
方法二:快速添加
在笔记编辑区域,你也可以通过快捷方式直接输入标签。
🔍 使用标签搜索
当你需要查找某个标签下的所有笔记时,只需在搜索框中输入 #标签名:
| 搜索语法 | 功能说明 |
|---|---|
#项目管理 | 查找所有带有「项目管理」标签的笔记 |
#year=2026 | 查找所有 year 标签值为 2026 的笔记 |
#重要 AND #工作 | 查找同时具有两个标签的笔记 |
#工作 NOT #已完成 | 查找有「工作」标签但没有「已完成」标签的笔记 |
#priority=高 OR #priority=紧急 | 查找优先级为高或紧急的笔记 |
📋 标签命名最佳实践
为了更高效地使用标签,建议制定一套命名规则:
| 类别 | 命名规则 | 示例 |
|---|---|---|
| 工作相关 | #work-xxx | #work-会议记录、#work-任务清单 |
| 学习相关 | #study-xxx | #study-编程、#study-英语 |
| 项目相关 | #project-xxx | #project-网站重构、#project-APP开发 |
| 状态标签 | #status=xxx | #status=进行中、#status=已完成 |
| 优先级 | #priority=xxx | #priority=高、#priority=低 |
使用前缀的好处: 在搜索时,输入 #work- 就能列出所有与工作相关的笔记,输入 #project- 就能快速定位所有项目笔记。
⭐ 提升属性(Promoted Attributes)
提升属性是 Trilium 的强大功能,可以将标签以表单形式显示在笔记顶部,便于快速查看和编辑。
适用场景:
- 📖 书籍笔记:显示作者、出版年份、ISBN、评分等
- 📋 任务管理:显示截止日期、负责人、状态等
- 🎬 影视记录:显示导演、类型、观看日期、评分等
设置步骤:
1️⃣ 进入「拥有的属性」面板
2️⃣ 点击 ➕ 按钮
3️⃣ 选择「添加新标签定义」
4️⃣ 配置标签定义的属性:
- 设置显示名称(别名)
- 选择数据类型(文本、数字、日期等)
- 勾选「可继承」让子笔记也显示此属性
示例:为书籍笔记创建提升属性
标签定义:
- tag: bookTitle (显示名: 书名, 类型: 文本)
- tag: author (显示名: 作者, 类型: 文本)
- tag: year (显示名: 出版年份, 类型: 数字)
- tag: rating (显示名: 评分, 类型: 数字)🔧 常用系统标签
Trilium 预定义了一些特殊标签,用于控制笔记行为:
| 系统标签 | 功能说明 |
|---|---|
#sorted | 自动按标题字母顺序排序子笔记 |
#readOnly | 将笔记设为只读模式 |
#hidePromotedAttributes | 隐藏笔记的提升属性显示 |
#color=xxx | 改变笔记在树状视图中的颜色 |
#iconClass=xxx | 改变笔记的图标(支持 boxicons 图标库) |
#keyboardShortcut=xxx | 为笔记定义快捷键(如 Ctrl+I) |
示例:让重要笔记更醒目
给笔记添加 #color=red 和 #iconClass=bx bx-star,该笔记在树状视图中会显示为红色并带有星形图标。
六、关系图功能
Trilium 提供了多种可视化工具来展示笔记之间的关系,帮助你更直观地理解知识结构。最新版本已将相关功能统一整合为「笔记地图」(Note Map)系统。
🗺️ 笔记地图类型
Trilium 提供三种不同类型的笔记地图:
| 地图类型 | 说明 | 适用场景 |
|---|---|---|
| 链接地图 (Link Map) | 显示笔记的入站和出站链接关系 | 查看单个笔记的关联网络 |
| 树状地图 (Tree Map) | 以树状结构可视化笔记层级 | 查看笔记的父子关系 |
| 关系地图 (Relation Map) | 自定义绘制笔记间的关系图 | 手动创建知识图谱 |
🔗 链接地图(Link Map)
链接地图显示一个笔记的所有链接关系,包括:
- 从其他笔记指向当前笔记的链接(入站链接)
- 从当前笔记指向其他笔记的链接(出站链接)
- 通过关系属性定义的关联
查看方式: 打开笔记 → 点击「笔记操作」→「链接地图」
功能特点:
- 以图形化方式展示笔记的「网状」结构
- 可以点击任意节点跳转到对应笔记
- 帮助发现笔记之间的隐藏联系
🗂️ 关系地图(Relation Map)
关系地图是一种特殊的笔记类型,允许你在画布上手动绘制笔记之间的关系。
创建关系地图:
1️⃣ 右键点击父笔记 → 插入子笔记 → 选择「关系地图」
2️⃣ 在画布上添加笔记节点(点击 ➕ 按钮,然后点击画布放置)
3️⃣ 创建关系:按住笔记右侧的连接点,拖动到另一个笔记
4️⃣ 可以为关系命名和添加描述
适用场景:
- 📚 构建知识图谱
- 🏢 绘制组织架构图
- 🔄 展示流程和依赖关系
- 💡 进行头脑风暴和概念映射
🎯 实际应用示例
场景:研究「深度学习」主题
假设你正在研究深度学习,创建了以下笔记:
- 神经网络基础
- 卷积神经网络 (CNN)
- 循环神经网络 (RNN)
- Transformer 模型
- GPT 系列
- BERT
使用关系地图,你可以:
- 将这些笔记添加到画布
- 绘制它们之间的关系(如「GPT」基于「Transformer」)
- 直观地看到知识结构和演进路径
使用链接地图,你可以:
- 在任意笔记中创建内部链接指向相关笔记
- 查看链接地图时,自动发现所有关联的笔记
- 无需手动维护关系图,系统自动追踪链接关系
📍 笔记地图笔记类型
你可以创建一个独立的「笔记地图」类型的笔记,用于展示某个子树的所有笔记关系:
1️⃣ 创建新笔记,类型选择「笔记地图」
2️⃣ 该笔记会自动显示其父笔记及所有子笔记的关系网络
3️⃣ 可以使用标签过滤显示的关系:
#mapIncludeRelation=xxx— 只显示指定类型的关系#mapExcludeRelation=xxx— 排除指定类型的关系
七、使用快捷键提高效率
Trilium 提供了丰富的快捷键系统,可以让你更快地创建、搜索和管理笔记。快捷键支持自定义配置,并且可以根据上下文(作用域)执行不同操作。
⌨️ 常用快捷键一览
📝 笔记操作
| 功能 | Windows/Linux | macOS |
|---|---|---|
| 创建新笔记 | Ctrl + N | Cmd + N |
| 删除笔记 | Delete | Delete |
| 复制笔记 | Ctrl + C(在笔记树中) | Cmd + C |
| 粘贴笔记 | Ctrl + V(在笔记树中) | Cmd + V |
| 复制笔记链接 | Ctrl + Shift + C | Cmd + Shift + C |
🔍 搜索与导航
| 功能 | Windows/Linux | macOS |
|---|---|---|
| 全局搜索 | Ctrl + Shift + F | Cmd + Shift + F |
| 快速跳转到笔记 | Ctrl + J | Cmd + J |
| 滚动到当前笔记 | Ctrl + . | Cmd + . |
| 返回上一笔记 | Alt + ← | Opt + ← |
| 前进到下一笔记 | Alt + → | Opt + → |
🗂️ 笔记树导航
| 功能 | 快捷键 |
|---|---|
| 上下移动 | ↑ / ↓ |
| 展开/折叠节点 | → / ← |
| 折叠子树 | Alt + - |
| 从编辑器返回笔记树 | Ctrl + Shift + ↑ / Ctrl + Shift + ↓ |
🖥️ 界面与视图
| 功能 | Windows/Linux | macOS |
|---|---|---|
| 打开关系图/链接地图 | Ctrl + Shift + G | Cmd + Shift + G |
| 切换全屏 | F11 | Cmd + Ctrl + F |
| 刷新界面 | Ctrl + R | Cmd + R |
| 打开开发者工具 | Ctrl + Shift + I | Cmd + Opt + I |
📑 标签页操作
| 功能 | 快捷键 |
|---|---|
| 在新标签页打开笔记 | Ctrl + 点击 或 鼠标中键 |
| 关闭当前标签页 | Ctrl + W |
| 切换标签页 | Ctrl + Tab / Ctrl + Shift + Tab |
⚙️ 自定义快捷键
Trilium 允许你自定义大部分快捷键:
1️⃣ 进入「设置」→「快捷键」
2️⃣ 找到要修改的功能
3️⃣ 点击编辑,输入新的快捷键组合
4️⃣ 保存后,可能需要刷新界面(Ctrl + R)使更改生效
🌐 全局快捷键
你可以设置全局快捷键,即使 Trilium 不在前台也能触发:
在快捷键设置中,使用 global: 前缀定义全局快捷键。例如:global:Ctrl+Alt+T 可以在任何应用中快速呼出 Trilium。
⚠️ 注意:全局快捷键需要重启 Trilium 后才能生效。
🏷️ 为笔记定义专属快捷键
你可以为特定笔记定义快捷键,实现一键跳转:
1️⃣ 打开目标笔记
2️⃣ 添加标签 #keyboardShortcut=Ctrl+I(可自定义组合键)
3️⃣ 重启或刷新 Trilium
4️⃣ 之后按 Ctrl + I 即可快速跳转到该笔记
适用场景:
- 为常用的「收件箱」笔记设置快捷键
- 为「每日笔记」模板设置快捷键
- 为重要项目的主页设置快捷键
八、自定义界面
Trilium 默认提供了浅色模式和深色模式,你可以在「设置」→「外观」中切换。如果你想要更个性化的界面,Trilium 提供了强大的主题和自定义 CSS 功能。
🎨 切换内置主题
Trilium 提供多种内置主题:
1️⃣ 点击「菜单」→「设置」
2️⃣ 进入「外观」选项卡
3️⃣ 在「主题」下拉菜单中选择喜欢的主题
新版本默认主题 Trilium.Rocks(由 @zerebos 开发)提供了现代化的界面设计。
🖌️ 使用自定义 CSS
如果你想在不更换主题的情况下微调界面样式,可以使用自定义 CSS 功能:
设置步骤:
1️⃣ 创建一个新的「代码」类型笔记
2️⃣ 选择语言为 CSS
3️⃣ 为该笔记添加标签 #appCss
4️⃣ 编写你的 CSS 规则
5️⃣ 按 Ctrl + R 刷新界面以应用更改
示例:修改笔记标题样式
/* 让笔记标题变成蓝色并加粗 */
.note-title {
color: #2563eb !important;
font-weight: bold !important;
}
/* 增加笔记内容区域的行间距 */
.note-detail-editable-text {
line-height: 1.8 !important;
}
/* 调整代码块的背景色 */
pre {
background-color: #1e1e1e !important;
border-radius: 8px !important;
}🎭 创建完整自定义主题
如果你想创建一套完整的自定义主题:
1️⃣ 创建一个「代码」类型笔记,语言选择 CSS
2️⃣ 为该笔记添加标签 #appTheme=我的主题名
3️⃣ 在笔记中定义 CSS 变量和样式规则
4️⃣ 进入「设置」→「外观」,你会在主题列表中看到新主题
🌈 推荐的社区主题
Trilium 社区创建了许多优秀的主题,可以在 awesome-trilium 仓库中找到:
| 主题名称 | 特点 |
|---|---|
| Solarized | 经典的护眼配色,提供浅色和深色两个版本 |
| Stellar Dark | 独特的深色主题,适合夜间使用 |
| VSCode-Dark | 模仿 VS Code 的深色主题,程序员友好 |
| Catppuccin | 流行的柔和配色主题 |
| Lightpad | 简洁的浅色主题,针对移动端优化 |
| Linen Theme | 极简风格,支持无干扰模式 |
🏷️ 为特定笔记设置样式
你可以为特定笔记在树状视图中设置独特的显示样式:
| 标签 | 功能 | 示例值 |
|---|---|---|
#color | 改变笔记名称颜色 | red、#ff5500、rgb(0,100,200) |
#iconClass | 改变笔记图标 | bx bx-home、bx bx-star、bx bx-folder |
#cssClass | 添加自定义 CSS 类 | important-note、archived |
图标使用 Boxicons 图标库,格式为 bx bx-图标名。
📤 分享笔记的样式
如果你使用 Trilium 的笔记分享功能,可以为分享的笔记设置专属样式:
1️⃣ 创建一个 CSS 代码笔记,编写分享页面的样式
2️⃣ 在要分享的笔记上添加关系 ~shareCss,指向 CSS 笔记
3️⃣ 分享的笔记将应用该 CSS 样式
九、笔记类型与高级功能
Trilium 不仅仅是一个文本笔记工具,它支持多种笔记类型,满足不同场景的需求。
📝 支持的笔记类型
| 笔记类型 | 说明 | 适用场景 |
|---|---|---|
| 文本笔记 | 默认的富文本笔记,支持格式化、表格、图片等 | 日常笔记、文档 |
| 代码笔记 | 支持语法高亮的代码笔记 | 代码片段、配置文件 |
| 渲染笔记 | 执行 HTML/CSS/JS 代码并显示结果 | 自定义组件、小工具 |
| 画布笔记 | 基于 Excalidraw 的无限画布 | 图表、草图、视觉规划 |
| 关系地图 | 可视化笔记关系的画布 | 知识图谱、概念映射 |
| 笔记地图 | 自动显示笔记链接关系 | 知识网络可视化 |
| 日历 | 日历视图管理事件 | 日程安排、时间管理 |
| 看板 | 看板视图管理任务 | 项目管理、任务追踪 |
| 书籍笔记 | 专门用于长文档的笔记类型 | 电子书、长篇文档 |
| Mermaid 图表 | 使用 Mermaid 语法绘制图表 | 流程图、时序图、甘特图 |
| 地理地图 | 在地图上标记位置 | 旅行规划、地点记录 |
🎨 画布笔记(Canvas Note)
画布笔记基于 Excalidraw 技术,提供无限画布用于手绘、图表和视觉规划:
功能特点:
- ✏️ 支持鼠标、触控笔、触摸屏输入
- 🖼️ 可以插入图片和文本
- 📐 提供基础图形工具(矩形、椭圆、箭头等)
- ∞ 无限画布,自由缩放
创建方式: 右键点击父笔记 → 插入子笔记 → 画布
📅 日历功能
Trilium 内置日历视图,用于管理事件和日程:
功能特点:
- 支持全天事件和跨天事件
- 提供周视图、月视图、年视图
- 可以拖拽事件调整日期
- 事件与笔记关联
📋 看板功能
看板视图适合任务管理和项目追踪:
功能特点:
- 自定义列(如:待办、进行中、已完成)
- 拖拽卡片改变状态
- 卡片与笔记关联
- 支持快速创建新任务
十、脚本与自动化
Trilium 提供强大的脚本系统,允许用户使用 JavaScript 扩展功能和实现自动化。
🔧 脚本系统概述
Trilium 的脚本分为两种运行环境:
| 环境 | 运行位置 | 能力 | 典型用途 |
|---|---|---|---|
| 前端脚本 | 浏览器/客户端 | 访问 UI、DOM | 界面定制、交互增强 |
| 后端脚本 | Node.js 服务器 | 访问数据库、文件系统 | 数据处理、自动化任务 |
⏰ 自动执行脚本
你可以设置脚本在特定时机自动执行:
| 标签 | 触发时机 |
|---|---|
#run=frontendStartup | Trilium 前端启动时 |
#run=backendStartup | Trilium 后端启动时 |
#run=mobileStartup | 移动端前端启动时 |
#run=hourly | 每小时执行 |
#run=daily | 每天执行 |
📚 实用脚本示例
1️⃣ 自动生成目录(TOC)
// 为当前笔记自动生成目录
const headings = document.querySelectorAll('h1, h2, h3');
// ... 生成目录逻辑2️⃣ 批量添加标签
// 为所有子笔记添加标签
for (const note of parentNote.getChildNotes()) {
note.setLabel('category', 'work');
}3️⃣ 与外部 API 通信
// 调用外部 REST API
const response = await fetch('https://api.example.com/data');
const data = await response.json();🔌 ETAPI(External Trilium API)
Trilium 提供 REST API,允许外部应用与 Trilium 交互:
常见用途:
- 从 Raycast、Alfred 等快捷工具创建笔记
- 自动导入 Kindle 高亮
- 与其他工具集成(如 IFTTT、Zapier)
- 开发自定义客户端
API 文档: 访问 Trilium 实例的 /api/docs 路径查看 API 文档。
十一、小结
本教程介绍了 Trilium Notes 的高级使用技巧,涵盖以下核心内容:
| 章节 | 核心要点 |
|---|---|
| 📦 数据备份 | 手动备份 document.db、云存储同步、内置自动备份 |
| 📥 数据导入 | Markdown、ENEX、OPML 格式导入,从其他应用迁移 |
| 📤 数据导出 | 导出为 Markdown、HTML、OPML 格式 |
| 🔄 数据同步 | 服务器同步(推荐)、云存储同步、移动端访问 |
| 🏷️ 标签管理 | 属性系统、标签搜索、提升属性、系统标签 |
| 🗺️ 关系图功能 | 链接地图、关系地图、笔记地图 |
| ⌨️ 快捷键 | 常用快捷键、自定义快捷键、全局快捷键、笔记快捷键 |
| 🎨 自定义界面 | 主题切换、自定义 CSS、社区主题 |
| 📝 笔记类型 | 画布、日历、看板、Mermaid 图表等 |
| ⚙️ 脚本自动化 | 前端/后端脚本、自动执行、ETAPI |
💡 进阶学习资源
如果你想深入探索 Trilium,以下资源值得关注:
| 资源 | 说明 |
|---|---|
| 官方文档 | 最权威的功能说明和教程 |
| GitHub 仓库 | 源代码、Issue 反馈、版本发布 |
| Trilium Rocks | 社区分享的主题、脚本、技巧 |
| awesome-trilium | 插件、主题、扩展合集 |
| trilium-py | Python API 库,用于批量操作 |
希望这些技巧能帮助你更高效地使用 Trilium,打造属于自己的强大知识库!无论是日常笔记整理,还是专业知识管理,Trilium 都是一个值得深入探索的工具。随着你对 Trilium 的使用深入,你可能还会发现更多高级功能,这些都能让 Trilium 成为更加强大的主权个人知识管理系统。✨
回复