笔记本、文件夹与笔记¶
VNote 用一套简单、透明的层级来管理你的写作:笔记本、文件夹和笔记。这套结构直接对应你的文件系统,因此你在 VNote 中看到的,正是磁盘上真实存在的。
层级结构¶
- 笔记本是存放笔记的容器。在磁盘上它是一个称为笔记本根文件夹的目录。捆绑笔记本是自包含的——它的笔记和配置都位于该目录内。原始笔记本就只是那个装着文件的目录;VNote 转而把对该笔记本的记录保存在应用的数据文件夹中。
- 文件夹用于在笔记本内将相关笔记归为一组。它对应笔记本根文件夹内的一个目录,并且文件夹可以嵌套到无限层级。
- 笔记是文件夹内的单个文件——通常是 Markdown(
.md)文件,但 VNote 也能打开和编辑其他文本文件。
捆绑笔记本会在笔记本根文件夹内维护一份笔记的索引。因此,最好在 VNote 内创建、移动和重命名笔记,而不要绕过它直接改动目录结构——不过 VNote 确实会注意到磁盘上新出现的文件,并让你把它们纳入笔记本,参见索引与外部文件。
笔记本¶
捆绑笔记本是独立且自解释的:它所需的一切都位于其根文件夹之下。正因如此,你才能把它当作单个目录来复制、同步或做版本管理。原始笔记本只包含你自己的文件,因此不会随身携带任何 VNote 配置。
创建笔记本¶
选择新建笔记本即可创建。在对话框中选择笔记本类型:
- 捆绑笔记本(Bundled notebook)——VNote 会在根文件夹下的
vx_notebook目录中维护笔记本结构与元数据的索引。正是这份索引让标签、附件、回收站、手动排序以及内置的 Git 同步成为可能。根文件夹必须为空(或尚不存在);已有文件在创建之后再导入。推荐使用此类型。 - 原始笔记本(Raw notebook)——VNote 像文件浏览器一样直接浏览一个现有文件夹。它没有索引:磁盘上的文件夹就是结构本身。打开它不会改变任何东西——不会复制、重新整理你的文件,也不会写入任何 VNote 配置文件。作为代价,一切依赖索引的功能都不可用:没有标签、没有附件、没有回收站,也没有内置的 Git 同步。
应该选择哪种类型?¶
优先选择捆绑笔记本。如果你已经有一个装着笔记的文件夹,请创建一个捆绑笔记本,并把该文件夹导入其中——你的笔记依然是纯文件,同时你还能获得完整的功能集。
只有在符合以下情形之一时,才选择原始笔记本:
- 现有的布局必须保持权威:你希望 VNote 按原样接纳该文件夹,而不导入或重新整理它。
- 该文件夹的结构由 VNote 之外的东西维护——另一个工具、一段脚本或一个共享仓库——而 VNote 只是你查看它的方式之一。
原始笔记本并非只读。打开之后,新建、重命名、移动、导入笔记以及粘贴图片,都会像在捆绑笔记本中一样写入该文件夹。原始笔记本避免的是对现有结构的一次性迁移,以及在文件夹中留下 VNote 配置。
| 捆绑笔记本 | 原始笔记本 | |
|---|---|---|
| 标签 | 支持 | 不支持 |
| 附件 | 支持 | 不支持 |
| 回收站 | 支持 | 不支持 |
| 内置 Git 同步 | 支持 | 不支持 |
| 手动排序文件夹与笔记 | 支持 | 不支持 |
| 图片等资源文件 | 支持 | 支持 |
| 编辑、搜索、导出 | 支持 | 支持 |
| 从 VNote 之外添加到文件夹中的文件 | 列为外部文件;你可以随时将其纳入 | 立即出现 |
| 笔记本配置 | 存放在文件夹内,随之一起迁移 | 由 VNote 在本地按机器保存 |
索引与外部文件¶
捆绑笔记本的索引记录着哪些文件和文件夹属于该笔记本,以及它们的元数据。它位于笔记本根文件夹内的 vx_notebook 目录中,因此无论你何时复制或同步笔记本,索引都会随之一起迁移。
由于索引独立于文件系统,VNote 能够区分两者。位于根文件夹之下但不在索引中的文件或文件夹会被列为外部文件——显示为灰色,排在所在文件夹中已索引项目的上方——这样你一眼就能看出笔记本已经纳入了什么、还没有纳入什么。VNote 自身的目录永远不会被列出:隐藏项(名称以 . 开头)、vx_notebook 文件夹、资源文件夹(当它是根文件夹下的普通文件夹名时,例如默认的 vx_assets)、旧版的 vx_images / vx_attachments / _v_images / _v_attachments 文件夹,以及笔记本忽略列表中的任何内容。
在外部项目的右键菜单中:
- 导入到索引(Import to Index)——把它纳入笔记本。纳入一个文件夹只会添加该文件夹本身;它的内容随后会作为外部项目出现在其中,可以再逐一纳入。
- 忽略(Ignore)——把它的名称加入笔记本的忽略列表,使其不再被列出。
笔记本面板标题栏菜单中的两个条目控制着这一行为:
- 显示外部文件(Show External Files)——是否列出外部项目。
- 打开时导入外部文件(Import External Files on Open)——在你第一次打开某个外部笔记时自动将其纳入。
正因如此,从 VNote 之外把文件复制到笔记本根文件夹、再在 VNote 内接手它们,是安全的。对于整棵目录树,导入文件夹(Import Folder)通常更省事,因为它会一步把整棵树递归地带进来——参见导入与迁移。纳入的反向操作是对已索引项目执行从笔记本中移除(Remove from Notebook):它把该项目从索引中去除,但文件仍保留在磁盘上。
打开与关闭笔记本¶
你创建或打开的笔记本会出现在左侧的笔记本选择器中。关闭笔记本只会将其从 VNote 的列表中移除;磁盘上的文件不受影响,你随时可以再次打开。
文件夹¶
在笔记本面板中右键点击笔记本或现有文件夹,即可创建新建文件夹。由于嵌套没有层级限制,你既可以用扁平的笔记列表,也可以构建深层、结构化的知识库。文件夹可以从同一个右键菜单进行重命名、移动和删除。
笔记¶
选中笔记本或文件夹并选择新建笔记即可创建笔记。为其命名时加上 .md 后缀以创建 Markdown 笔记。从笔记的右键菜单中,你可以重命名、移动(在文件夹间剪切与粘贴)、复制、删除和导出笔记,还能通过打开位置(Open Location)(或复制路径(Copy Path))显示对应文件。
笔记还可以拥有附件(Attachments)——与它关联的任意文件。使用笔记工具栏中的附件(Attachments)按钮即可添加、打开、重命名或移除附件。VNote 会把每个附件复制到笔记本资源文件夹下属于该笔记的子文件夹中,并记录到索引里,因此附件需要捆绑笔记本。
在捆绑笔记本中,删除笔记会将其移入笔记本内 VNote 的回收站,因此在你清空之前都可以恢复。原始笔记本没有回收站。
一切皆文件¶
由于该层级不过是目录和文本文件,你始终完全掌控自己的数据:
- 复制笔记本的文件夹即可备份。
- 用 git 跟踪笔记本的历史。
- 需要时用其他工具编辑某篇笔记。
为保持捆绑笔记本索引的一致性,建议在 VNote 内进行结构性改动(创建、移动、重命名、删除)——或者按索引与外部文件中所述,把磁盘上出现的内容纳入笔记本。跨设备同步参见笔记本同步,跨文件夹树组织笔记参见标签。