笔记大扫除

起因

笔记使用长了就会让人觉得乱,这有很多原因,从底层上讲我觉得无外乎:

  • 初期的设计不完善,没有充分考虑到后期新增的各种需求
  • 日常整理执行力不足
  • 一些内容在分类上存在骑墙状况,既 A 也 B,当多个这类内容出现之后,就可能存在分类分歧,这些内容既可能出现在 A 也可能出现在 B,令人感到混乱。即分类方法的不完善。

总之,问题存在,尝试解决。

原则

  • 彻底重构笔记结构
  • 重点规范笔记体系
  • 侧重制定使用规则
  • 尽力减少骑墙分歧

以及:

  • 全面顾及移动端的使用体验
  • 将笔记操作规范记录清楚,以防日后遗忘

日志

我会随着操作逐步记录,并进行说明。这是一项比较长期的工程,在内容上也会存在不断修改。

支持

老鼠爱发电 (你看着我这期待的小眼神 (✪ω✪)

1 Like

0x00 仓库

0x000 基本原则

Obsidian 是基于文件的,我也很喜欢这种形式,所以在笔记管理上也是基于文件进行管理。进一步的笔记分类也是基于文件目录进行分类,至少文件目录是笔记分类的第一个维度。

0x001 根目录

我创建了一个文件夹:AllMyNotes,作为我所有笔记的一个目录。后续我可能分多个笔记仓库,这些笔记仓库都放在这个文件夹下,这样在同步时只要同步这个文件夹,所有数据就都搞定了。

0x002 主要仓库

  • 日记
  • 笔记

含义一目了然,实际总文件数量也就 1000 左右,真的算不上多,并不是很有必要去分成仓库。目前的考虑是:

  • Obsidian 每次打开需要对所有文件进行索引,文件数量影响打开速度,而我的设备性能都不算好
  • 这两类内容在需求上有明显的区别,所以插件配置也会有明显的区别,如果放在一起,两套需求叠加,需要启动的插件和脚本数量也会比较多,在性能上有所浪费
  • 未来可能使用 AI 等辅助功能,但生活方面的内容不希望被上传,所以有必要进行隔离
  • 如果需要同时处理多个仓库的内容,可以将上级根目录作为一个总仓库

0x01 同步

0x010 软件

因为我只有 Windows 和 Android 系统,所以使用 Syncthing 进行同步,几乎无感。

额外使用 GoodSync 将文件同步到其他磁盘和网盘,进行本地及云端的备份。

并使用 git 每日将笔记备份到 github。

0x011 数据流向梳理

flowchart LR

subgraph Devices
    PC[🖥️ PC]
    Nas[🔌 Nas]
    Phone[📱 Phone]
    PC <---> |Syncthing| Nas <---> |Syncthing| Phone <---> |Syncthing| PC
end

subgraph Local Disks
    E:\
    F:\
end

subgraph Clouds
    OneDrive
    InfiniCloud
end

Nas ---> |GoodSync| OneDrive
Nas ---> |GoodSync| InfiniCloud
Nas ---> |GoodSync| E:\
Nas ---> |GoodSync| F:\
Nas ---> |git| Github

style PC fill:#EED
style Nas fill:#EED
style Phone fill:#EED

style OneDrive fill:#ACF
style InfiniCloud fill:#ACF

style E:\ fill:#FCA
style F:\ fill:#FCA

style Github fill:#CCC

linkStyle 0,1,2 color:blue
linkStyle 3,4,5,6 color:red

我每次都是利用换笔记软件的机会来整理,最近一次就是从notion换到了obsidian,真的是花了好久,大动干戈

所以非常希望能够确定下来长期使用一个工具。同时也非常希望这个工具努力求稳,不要过于追求创新。能够基于文件已经算是少了很多麻烦了。

然后对于笔记,必须经常整理。否则笔记就变成死数据了。

很多内容本身就应该是既在A又在B的,所以我才喜欢双链

我是只分了2个库,1个游戏专用,因为各种专用名词太特别,也容易引起混乱;剩下的1个就是all in one了

0x02 一级目录

思路是使用编号,一方面固定顺序,一方面便于检索。

编号 日记 笔记
00_ 视图[1] 收集[2]
10_ 日记 片段[3]
20_ 周记 流程[4]
30_ 清单[5] 清单[6]
40_ 方法[7] 方法[8]
50_ 记录[9] 积淀[10]
60_
70_
80_ 归档[11]
90_ 资源[12] 资源[12:1]

你会发现这里有一些分类是非常接近的,这是因为编号充足,可以按照某些特征进行适当的细化。当然如果不便于在这个层面进行细化分类,还可以通过二级目录进行划分,比如片段


  1. 视图:用于信息汇总显示的页面 ↩︎

  2. 收集:待整理的各种信息,以及用来测试的沙盘页面。可以视为Inbox或者草稿箱 ↩︎

  3. 片段:文字片段,比如代码片段等 ↩︎

  4. 流程:操作流程,思路记录,多维思维导图类 ↩︎

  5. 清单:账目和事项记录类信息 ↩︎

  6. 清单:数据信息表格的整理 ↩︎

  7. 方法:操作方法,和使用说明,比如一些电器说明书中关键信息的记录 ↩︎

  8. 方法:计算机相关的操作方法记录, ↩︎

  9. 记录:生活中一些琐碎信息的记录 ↩︎

  10. 积淀:一些自认为比较成熟的完全内化的知识的整理 ↩︎

  11. 归档:信息已经过期,但依旧想保留以供回忆的内容 ↩︎

  12. 资源:笔记附件和插件资源 ↩︎ ↩︎

太强了,我当年就是因为整理的压力才没有用notion的。除了学生之外,能搞这么一套东西,并坚持下来的都是大神

也没有想的那么难,细分任务,然后逐步推进呗。

对于很多问题,方法固然非常重要,但是最基础的决定因素是——去做,并坚持去做

这确实需要大毅力,但其实也很简单——当我发现我的记忆越来越不靠谱的时候,我就越来越重视笔记了。我能不做吗,我感觉我都离不了它了……

0x03 二级目录

0x030 原则

二级目录也会使用编号,这样对于常用目录可以使用编号快速查找到,当然也可以用编号快速筛选对应目录中的内容。

因为会使用我自己书写的工具去为目录添加对应的图标,所以下面列表中的格式会包含图标。

0x031 日记

0x032 笔记

0x033 简单化

整理到这里发现问题开始有意思起来——当我将笔记分为两个仓库以后,基本不太需要二级目录了,这让笔记的结构变得简单了许多。也就是说我后面可以给一些常用文件直接对应上两位数的编号,查找效率大大提升。

1 Like

0x04 核心插件

0x040 插件原则

如非必须,绝不开启

是的,本质就是奥卡姆剃刀原理:

“如无必要,勿增实体” (Entities should not be multiplied unnecessarily)

0x041 原则依据

当然可以找到许多理论来支持,但这里我讲一些最实际的。

  • Obsidian 是基于文件系统的,这当然是一大优势,同时在性能上可能也是一大劣势。所以如果我们希望获得更加流畅的使用体验,就应该有意识地控制系统复杂度
  • 插件之间可能存在冲突,插件越多,排查问题的难度越高
  • 插件作者可能维护的不及时或者不够严谨,换言之,应该对任何工具都做好它随时失效的准备。我已经不止一次因为某插件更新带来的 bug 导致许多笔记视图无法正常工作
  • 笔记对于工具的依赖越少,它的可维护性和可迁移性就越高

归总起来大概就是:不信任任何工具,也不希望提升复杂度。

同时我对于处理器性质的辅助工具则十分宽容,比如附件自动重命名之类,因为它的存在只是带来便利,而不存在我也只是回归原始。笔记不会对这类工具产生任何依赖,工具也不会污染笔记的语法。

0x042 核心插件

启用 插件 描述
:cross_mark: 白板 在一张无限白板上组织你的笔记。
:cross_mark: 笔记重组 合并两篇笔记,或将笔记部分内容移动到另一笔记中。
:cross_mark: 标签列表 显示所有标签及其出现的次数。
:cross_mark: 出链 显示当前笔记中已存在的链接并检测可能存在的链接。
:white_check_mark: 大纲 显示当前笔记或链接笔记的小标题列表。
:cross_mark: 发布 通过 Obsidian 发布服务发布你的笔记。
:cross_mark: 反向链接 在状态栏中显示指向当前笔记的链接的情况。
:cross_mark: 工作区 保存和加载工作区布局。
:cross_mark: 关系图谱 总览笔记间的联系。
:cross_mark: 幻灯片 演示当前笔记。你可以通过键入 “—” 来分隔每一页幻灯片的内容。
:white_check_mark: 快速切换 输入关键词即可跳转到相应文件(按下 Ctrl/Cmd+O 激活此功能)。
:cross_mark: 录音机 录制音频并保存为附件。
:cross_mark: 漫游笔记 随机打开一则笔记,以助于回顾和发现。
:white_check_mark: 命令面板 无需界面或快捷键操作,输入一个命令即可完成相应功能。
:cross_mark: 模板 插入模板文件夹中的模板文件内容。
:cross_mark: 日记 打开今天的日记。如果该日记不存在,则创建该日记。
:cross_mark: 时间戳笔记生成器 创建以时间戳为文件名的笔记,常用于 Zettelkasten 等方法中。
:cross_mark: 书签 为常用文件及搜索加上书签。
:cross_mark: 属性列表 显示笔记的属性(metadata)信息。
:white_check_mark: 搜索 在所有笔记中搜索关键词。
:cross_mark: 同步 通过 Obsidian Sync 同步你的文件
:white_check_mark: 文件恢复 通过最近的快照来恢复意外丢失的数据。仅为 Markdown 文件生成快照。
:white_check_mark: 文件列表 查看仓库中所有文件。
:cross_mark: 斜杠命令 启用后,在编辑器中输入斜杠即可触发命令。
:white_check_mark: 页面预览 开启后鼠标悬停在内部链接上时将显示预览。编辑模式下需要在鼠标悬停的同时按住 Ctrl/Cmd 键才可预览(该设置可调节)。
:white_check_mark: 字数统计 在状态栏中显示字数。
:cross_mark: Markdown 格式转换器 将其他应用中的 Markdown 格式转换为 Obsidian 支持的格式。
:cross_mark: Web viewer 在 Obsidian 中打开外部网页链接。

这其中启用的插件中多数有更好的第三方插件替代,但是我并没有那么高的需求,而用核心插件可以获得更高的稳定性

0x05 基础设置

.obsidian/app.json

{
  "autoPairBrackets"    : false,        // 不自动补全括号
  "autoPairMarkdown"    : false,        // 不自动补全 Markdown 符号
  "useTab"              : false,        // 使用空格缩进
  "trashOption"         : "local",      // 文件删除处理方式:"local"=移动到本地回收站(.trash文件夹)
  "alwaysUpdateLinks"   : true,         // 在文件移动/重命名时自动更新所有链接
  "newLinkFormat"       : "absolute",   // 链接使用绝对路径
  "useMarkdownLinks"    : true,         // 使用 Markdown 格式链接
  "showUnsupportedFiles": true,         // 显示不支持的文件
  "attachmentFolderPath": "90_资源/91_附件" // 附件文件夹
}

这些就完全是个人使用习惯了。

0x06 第三方插件

都有不得不存在的理由,不太好再往下精简了。

笔记 日记 插件 描述 理由
:cross_mark: :white_check_mark: Advanced URI Obsidian URI 的高级模式 Widget Sidebar 插件通过 URI 调用命令
:cross_mark: :white_check_mark: Charts 允许你在 Obsidian 中创建图表的插件 体重追踪页面使用此插件显示图标
:white_check_mark: :white_check_mark: Dataview 为数据控用户提供复杂的数据视图 日记的起始页用此进行信息汇总
:white_check_mark: :white_check_mark: Excalidraw 一个用于编辑和查看 Excalidraw 绘图的 Obsidian 插件 笔记中主用的绘图工具
:white_check_mark: :cross_mark: Image Zoom & Drag 让任何图片或图表都可以交互式缩放、拖动,并带有控制面板 对 mermaid 和渲染结果进行缩放和拖动,获得更好的查看效果
:cross_mark: :white_check_mark: JI 为数字化五(N)年日记创建更好的视图,以及一些实用功能 自写的日记显示视图
:cross_mark: :white_check_mark: Kanban 在 Obsidian 中创建基于 Markdown 的看板 物资管理等列表使用此插件获得更好的显示效果
:cross_mark: :white_check_mark: Lazy Plugin Loader 启动时延迟加载插件,从而将应用启动时间缩短到亚秒级。 延迟大型插件的启动,获得更好的启动体验,尤其是在手机端
:white_check_mark: :white_check_mark: Open vault in VSCode 侧边栏按钮、命令和文件资源管理器菜单,可将库作为 VSCode 工作区打开 多软件联动编辑笔记
:white_check_mark: :white_check_mark: Plugin Update Tracker 了解已安装插件是否有更新,并评估升级风险 方便插件更新又可以适当延迟更新,防止遭遇更新后的意外 bug
:cross_mark: :white_check_mark: QuickAdd 快速向库中添加新页面或内容 快速添加日记等信息
:white_check_mark: :white_check_mark: Templater 创建和使用模板 更灵活的模板
:white_check_mark: :white_check_mark: Update time on edit 保持前置元数据与最后编辑时间同步 自动更新笔记时间戳,Obsidian 原生的基于文件属性,可能遭遇意外修改
:cross_mark: :white_check_mark: Widget Sidebar 一个侧边栏小部件系统 自写的侧边栏小工具

0x07 笔记整理

这可能是最难的,也是最让人不想做的事情。我认真思考了好久,然后绘制了一个用来判断如何分类的流程图:

笔记分类流程图.excalidraw.png

似乎一切都梳理好了,然而接下来的事情既需要手段,又需要勇气,而且需要足够的时间和力气。

几百篇笔记,虽然以前有过整理,但并不怎么严谨,所以全得再整理一遍。是一块硬骨头,慢慢啃吧。

以前我还在使用印象笔记的时候,我超级热衷于将各种网站、微博的资讯保存到笔记中,但是保存过后就再也不会打开了。

后来印象笔记的多设备同时登录需要开通会员了,我就开始迁移到有道云笔记,迁移的过程中我就在对每一篇笔记进行了取舍,用不到的就果断删除了。

现在兜兜转转一圈,我也选择 Obsidian 作为我的笔记软件,里面的笔记虽然还是有很多不常打开,但是我也会尽量在现有笔记上面增加内容,而不是新建笔记。