# 笔记、书签与本地更正

> 在章节上写 Markdown 笔记、加书签和标签、查阅读历史、更正译文，内容更新后重新定位，以及导出、导入、备份和恢复个人资料。

---

LLMS 索引： [llms.txt](/llms.txt)

---

笔记、书签、标签、阅读历史和更正统称个人资料，保存在 `~/Library/Application Support/Crib/` 中，与资料包分开。卸载或更新文档版本不会删除它们；个人资料出问题时，阅读和搜索照常可用。

侧栏“个人资料”下有笔记、更正、书签、阅读历史、标签和待重新定位六个分类。选中某个分类时，搜索框改为在其中按标题、正文和标签做字面筛选。

## 笔记 {#notes}

点工具栏的“笔记”按钮打开笔记面板，按 ⇧ + ⌘ + N 新建笔记。

- 新笔记的标题默认是当前章节的标题。新建时正文中有选中的文字，笔记就关联到这段原文，面板中显示“关联的原文”和“打开原文”。
- 以后要改关联位置，在正文中选中新的文字，点“关联当前选区”。
- 正文是 Markdown，“编辑”与“预览”之间切换。预览只打开 `http`、`https` 和 `mailto` 链接。
- 标签写在“标签，用逗号分隔”一栏。
- “修订”菜单列出保存过的版本，“恢复修订 N”会把它存为一个新修订，不覆盖历史。
- 在侧栏“笔记”中右键可以“编辑笔记”“打开原文”或“删除笔记…”。删除会连同所有修订一起删除，无法撤销。

### 自动保存与冲突 {#autosave}

停止输入片刻后笔记自动保存，面板底部依次显示“等待自动保存…”和“已自动保存 · 修订 N”。

- 保存失败时显示“保存失败：”和原因，草稿留在编辑器中，不会显示为已保存。
- 同一条笔记在两个窗口里都改过时，后保存的一份不会覆盖先保存的：它的编辑器显示保存失败，草稿保留。
- 导出、导入和备份前，Crib 先保存所有草稿；上面那种冲突的草稿另存为标题带“（冲突副本）”的新笔记并提示，之后的修改保存到这份副本。
- 退出时仍有无法保存的草稿，会弹出“无法保存个人资料”，可以“另存为副本并退出”“放弃修改并退出”或“继续编辑”。

> [!NOTE]
>
> 草稿只在保存成功后才写入磁盘。应用崩溃或磁盘不可写时，最后一次保存之后的输入可能丢失。

## 书签 {#bookmarks}

按 ⌘ + D 给当前章节加书签，同时弹出编辑框，可以改名称、加标签。书签在弹出时就已添加，“取消”只放弃这次的修改。加过书签的章节，工具栏的书签图标变为实心。

⇧ + ⌘ + D 打开书签列表，可以按标题、版本或标签筛选，⌘ + ↩ 在新标签页打开，“在侧栏中查看全部”转到侧栏的“书签”分类。

## 标签 {#tags}

笔记和书签都可以加标签。侧栏“标签”分类顶部的标签选择器按标签列出笔记；“书签”分类顶部也有同样的选择器。

## 阅读历史 {#history}

打开过的章节记入阅读历史。⇧ + ⌘ + Y 打开历史列表，可以按标题或版本筛选；侧栏“阅读历史”显示全部。

- 保留最近 5,000 条、180 天以内的记录，连续重复打开同一处只记一次。超出的部分在启动时清理。
- 右键单条记录可以“从历史中删除”。在侧栏“阅读历史”分类中，“个人资料操作”菜单里的“清除阅读历史…”删除全部历史，不影响笔记、书签和更正，无法撤销。

阅读历史与标签页的后退、前进记录是两回事，后者见[后退与前进](/docs/guide/reader/#back-forward)。

## 更正 {#corrections}

更正用来记下你对正文（通常是译文）的修改。它只保存在你的个人资料里，不改动官方原文。

1. 在正文中选中要改的文字。选区要在同一章节内，只含正文。
1. 选“阅读 › 更正选中文字…”，或阅读区“更多”菜单中的同名命令。
1. 在“更正为”中写新文字，点“保存”。
{.steps}

保存后，阅读区顶部显示“N 处更正”。更正过的文字带底色和下划线，悬停可以看到原文。取消勾选“显示更正”即看到官方原文；“查看全部”转到侧栏“更正”分类。

- 更正只在保存它的版本和语言中显示，不会套用到另一种语言或其他版本。
- 更正绑定保存时的资料包和原文。资料包更新后，即使这段文字没变，更正也不再套用，列入“待重新定位”，状态为“原文已更新”。
- 在侧栏“更正”中右键可以“编辑更正”“恢复原文”或“删除更正…”。恢复原文会存为一个新修订；删除会移除全部修订，无法撤销。
- “在浏览器中打开”生成的页面只含官方原文，不含更正。

## 内容更新后重新定位 {#relocate}

笔记和更正记住的是一段原文和它前后的文字。安装、更新或回滚资料包，以及导入个人资料之后，Crib 会重新核对每条记录的位置。也可以在“待重新定位”分类中点“重新定位”，或在“个人资料操作”菜单中选“重新定位全部”。

Crib 只在原文和保存时的前后文完全一致、并且只出现一次时自动找回位置。它不做近似匹配，也不会跳到另一种语言或另一个版本。找不到的记录列入“待重新定位”：

| 状态 | 含义 |
| --- | --- |
| 原文已更新 | 更正所在的资料包或原文变了，更正不再显示 |
| 原文出现多处 | 同样的文字和前后文出现了不止一次 |
| 找不到原文 | 页面还在，那段文字没有了 |
| 找不到原页面 | 页面不在资料库中，例如对应版本已卸载 |

点“打开记录”打开对应的笔记或更正：

- 笔记：在正文中选中新位置，点“关联当前选区”。旧的关联和每次核对的结果都会保留。
- 更正：对新原文重新选中文字，另建一条更正。

## 导出、导入与备份 {#export-import}

这些命令在“个人资料操作”菜单中（侧栏个人资料分类标题右侧的“…”）。

| 命令 | 结果 |
| --- | --- |
| 导出个人资料… | 一个文件夹，默认名 `Crib-personal`，含全部笔记、更正、书签、阅读历史和修订 |
| 导出更正… | 同样格式的文件夹，默认名 `Crib-corrections`，只含更正 |
| 导入个人资料… | 选择一个导出的文件夹并合并进来 |
| 备份个人资料… | 一个 SQLite 文件，默认名 `Crib-user-backup.sqlite` |

导出的文件夹结构如下：

```text
Crib-personal/
├── manifest.json        # 全部记录、修订、位置信息和各 Markdown 文件的校验值
├── notes/<ID>.md        # 每条笔记的正文
└── corrections/         # 每条更正的原文、新文字和一份对照说明
```

- 导入时，完全相同的条目跳过；与本机条目冲突的另存为副本，完成后提示“已导入 N 条，M 条冲突另存为副本”。
- `manifest.json` 记录了每个 Markdown 文件的校验值。只改动某个 `.md` 文件会使整个导出无法导入。导出格式用于在 Crib 之间搬运，不是通用的 Markdown 导入入口。
- 导出和备份不能保存到 Crib 自己的数据文件夹里。

## 个人资料无法打开时 {#recovery}

磁盘已满、文件损坏等原因导致个人资料无法打开时，Crib 只停用个人资料功能，阅读和搜索不受影响。侧栏个人资料分类中显示“无法打开个人资料”，有两个处理办法：

- **从备份恢复…**：选择之前用“备份个人资料…”保存的文件。Crib 先检查备份，再替换；原文件改名保留。
- **新建个人资料…**：确认后以空白的个人资料重新打开，原文件改名保留在原目录，不会删除。

启动时的提示默认按钮是“稍后处理”。如果提示的是“个人资料需要更新版本的 Crib”，说明文件完好，只是由更新版本的 Crib 写入；此时只提供“从备份恢复…”，更新 Crib 后即可正常使用。

---

反链：

- [文档](/docs/)
- [阅读与双语对照](/docs/guide/reader/)
- [工作原理](/docs/intro/architecture/)
- [收录内容](/docs/intro/content/)
- [常见问题](/docs/reference/faq/)
