笔记分类的目的是结构化目录,以使得笔记内容能快速被定位和检索。
基础分类
笔记分类最基本的思想就是“不重不漏”,要做到也比较容易,只要用集合的思想即可。举个例子:
所有笔记分类以物质划分界限:
- 物质笔记
- 非物质笔记
这样就能不重不漏的分开所有笔记,但这范围太大了,需要进一步缩小范围:
- 物质笔记
- 精神笔记
- 既是物质又是精神的笔记
- 非物质和非精神笔记
这又细化了一层,但绝对能做到不重不漏。但问题是只要分类一多,集合间的交叉会呈指数级增长,在归类和检索时都会产生不知放到哪个集合里的麻烦。如果能在分类的标准上下功夫,即尽量避免交叉领域的出现,即可大大简化分类:
- 物质笔记
- 精神笔记
- 非物质和非精神笔记
随之带来的问题便是“既是物质又是精神的笔记”应该放在哪?如果我人为的否定世界上不存在这样的笔记,是否会好多了。但这在很多领域上的交叉是不容忽视的,比如数学和计算机领域。
我一方面想断绝各领域的联系使得分类更确定,另一方面又被迫接受万事万物总存在联系的事实。如果能折中一下就好了,于是我有了下述思路:
- 总有一些领域老死不相往来,只要分类够大,在目前的认知范围内是绝不可能产生联系。
- 只要分类到一定程度,我就能手动处理建立联系的文件夹,新建一个关系文件夹也无所谓,因为能顺利找到。
- 理论上说,一级文件夹分十类,二级文件夹分十类,这就能快速分类一百个不相干的领域。如果在一个领域内产生1000篇笔记,那就是十万篇笔记。因此,我用三级文件夹可以管理十万篇笔记。
- 如果分类进一步合理细化,增加分类数量,三四级文件夹管理百万篇笔记应该绰绰有余。
- 至此分类思路成型。
接下来的问题便是:如何确定分类标准?
没啥思路,看看别人怎么分的吧:
- 中图法:别人拿来分类书籍,个人知识库又不只是书,层级也太多了。更何况有很多反直觉的分类,压根不考虑。
- 杜威十进制:也是分类图书的,编码思路可以参考。具体分类太多,不适合个人。
- PARA系统:这分类也太少了,分了个寂寞,二级文件夹我还得想。不过这提醒我工程文件,计划,管理这些要素也要考虑。
- IMF 框架:MOC,不是分类。LYT示例库,这个影响力挺大的。
- …
没办法,这些东西大多服务于笔记方法,而不适用于我所谓“不重不漏”的分类,只能自己生造一个。
看过一点哲学史,在《philosophy for everyone》一书中提到的“哲学是想出正确思考事物的一种活动”(the activity of working out the right way to think about things.)。如果按这个思路来分类,万事万物都可以分类到哲学这个大概念下,正是由于我认为是正确的东西,我才做的笔记,这一切都是哲学活动。这里,我确定了总的分类都是依靠这样定义的哲学来分类的,即认识世界的手段有哪些。
以认识世界的手段为基础开始分,我在维基百科,各大哲学概念的迷雾中,找到了个人认为正确的一级分类方式:
- 个人哲学:研究自我,积累和组织并可检验有关于自我的解释和预测。这包括一切个人的想法,经历,计划,日记等
- 哲学(一般意义上的哲学):研究普遍的、基本问题的学科,包括存在、知识、价值、理智、心灵、语言等领域。这类领域包括充满争议而没有确定的结论的形而上学;系统性地思考和研究关于道德观念方面的伦理学;探讨知识的本质、起源和范围的知识论;等等。这个分类大都是为了哪天想不开了,研究一些虚无缥缈的东西所创建的。
- 科学:积累和组织并可检验有关于宇宙的解释和预测。懂的都懂。
- 人文学科:这是在我发现历史学,文学,艺术,音乐等分不进科学的时候添加的。也分不进哲学,因为我认为人文学科带浓烈的个人主义色彩又有一些通用理论,没啥办法,就这样吧。
现在用集合的思想检验一下是否做到了“不重不漏”,我的基本思想是我认为认识事物有这么一个流程:实践->科学->哲学->玄学,这四步涵盖了我认识世界的所有步骤,除此之外,我也想不到其它方法了:
- 个人哲学:对应实践,我自己认为有用的东西绝对是正确的。
- 科学:最具普适性的经验
- 人文学科:带有浓烈个人色彩的学科
- 哲学:最后的认知手段
- 玄学:不予考虑
至此,一级分类分了四类,可信度逐级降低,认知的越深入,迷茫也越多。这离我预想的十级文件夹远远不足。因此,我开启了二级分类:
二级分类要简单得多,因为有了一些参照:
- 个人哲学
- 日记
- 计划
- 健康管理
- 时间管理
- 财富管理
- …
- 哲学
- 形而上学
- 价值论
- 知识论
- …
- 科学
- 形式科学
- 数学
- 逻辑学
- 计算机科学
- 自然科学
- 社会科学
- 形式科学
- 人文学科
- 历史学
- 艺术
- …
如果严格按照上述思路设立文件夹,增加了文件夹深度而并没有大的收益,一页只有三个文件夹,大大浪费了分类的作用。因此,配合编码只取具体的学科分类便好,于是有:
- 000-日记
- 001-计划
- …
- 100-哲学
- 101-形而上学
- 102-价值论
- …
- 200-文学
- 201-历史
- 202-艺术
- …
- 30100-数学
- 30101-逻辑学
- …
- 30200-物理学
- …
- 30300-政治学
至此,一级目录诞生,并且部分有着三层分类的作用,按照这思路,直到分类到该学科有较复杂的交叉领域,也不过三层文件夹嵌套。
那么接下来分类下一级文件夹的内容?
这还分个屁啊,这半年来我做了大概两千条笔记,被这二三十个文件夹吃得死死的,没机会折腾过进一步分类了。用得多的大都是专业领域,按照学科大纲细分至三级文件夹就够了,这样简单的分类却能管理我半年来所有笔记,这是我当初没想到的。
检验基础框架搭建得是否成功,一个比较好的方法——随意取一个中图法的分类,看是否能在不引起混淆的情况下将笔记归到大类里。
最后需要处理的是,一个细分领域下笔记间如何组织和笔记内如何组织的问题。
笔记间组织
基础框架搭建好了,下一步就是在该细分领域如何构建进一步的分类。
根据工作流程,我很自然的将笔记分成四大类(结合不同应用场景有17类,这里只说最基础的):
- 记录:record文件夹。该文件夹放灵感,参考资料的链接,读书笔记,阅读记录等未形成体系的东西。
- 整理:core文件夹。概念与模型,文件夹以一个MOC组织,统领所有核心概念。
- 应用:project文件夹。工程项目文档,个人产出等。
- 输出:handbook文件夹。我特别喜欢搭建个人组件库,cheatsheet,题库之类的东西,能直接检验学习成果,又能提炼核心知识点供以后复习。
这里我需要解释几个为什么:
- 为什么要分四大类?因为这是我工作流程,每一部分的产出独立成文。很多时候我查询笔记并不想看到什么概念,而是想直接使用结论;想弄清楚概念,又不想看到应用。
- 为什么用文件夹分类?如果采取yaml区分会导致在一个文件夹里有相当多的内容,脱离ob就没那么好找了。如果采取标签的方式区分,这会和其它大分类下的内容产生混淆。
- 如果core文件夹太多文件和文件夹怎么办?那是因为没分好子类,这个时候重构文件夹即可。
- 如果我有灵感,我需要在很深的目录下找到分类并新建文件,会不会太麻烦?脱离分类我还有个Inbox文件夹,用于收集这些东西,但这并不意味着record文件夹不需要。很多时候我开了坑但许久未填,导致Inbox的内容太多。为了避免这种情况,record文件夹定时收集那些搁置的内容,以便哪天有兴趣了好处理。而ob又能通过脚本或者dataview汇集分散在这些文件夹里的搁置项,所以很流畅。
笔记组织实操
以我写的这篇笔记分类方法为例,我以这样的思路放置:
- 个人哲学
- 知识管理
- project
- 知识管理
实际的文件夹是:
- 004-知识管理
- project
目前并不需要二级分类,而相对复杂点的就是我学习计算机创建的文件夹,以学习obsidian写的常用api和代码片段为例,思路是:
- 科学
- 计算机科学
- 计算机软件
- obsidian
- handbook
- obsidian
- 计算机软件
- 计算机科学
实际的文件夹是:
- 30102-计算机科学
- 3010210-计算机软件
- obsidian
- handbook
- obsidian
- 3010210-计算机软件
这个复杂在哪呢?复杂在对计算机科学的子分类上,完整的分类是这样的:
我借此进一步简化为:
- 理论计算机科学
- 数据结构和算法
- 信息论与编码理论
- 计算机系统
- 计算机软件
- 计算机体系结构
- 计算机操作系统
- 计算机网络
- 计算机硬件
- 计算机应用技术
- 人工智能
- Web
- …
因此,我在文件夹中呈现的形式为
- 30102-计算机科学
- 3010200-数据结构与算法
- 3010210-计算机软件
- obsidian
- 3010211-计算机体系结构
- 3010212-计算机操作系统
- 3010213-计算机网络
- 3010214-计算机硬件
- 3010220-人工智能
- 3010221-Web
- 3010222-爬虫
- …
即使如此庞大错杂的学科分类,依然在形式上做到了简洁。只要我用不上的,都可以砍了,如果要用了,编码体系能很好的插入不同的分类,有一定的扩展性。难点在于对整个体系有着比较全面的了解,才能做到比较合理的分类。退一步说,每个人涉及到的领域实在是小,追求完美的分类又何必呢?图啥?演绎法不好用不还有归纳法嘛!
ob的赋能
obsidian最离谱的是什么?是可编程。搭建好分类体系后会有如下很爽的场景:
- 下载了一本电子书,写utools脚本通过utools超级面板将其移动到电子书管理文件夹 (非ob库,ob并不适合管理大量附件),并在对应分类的pre文件夹下的资源文件里添加书的路径。
- 通过utools全局快速查询并打开附件资源,常用的handbook文件(题库,cheatsheet)。
- 一键打开最近常用的工作模式(打开ob指定分类下的record文件,打开vscode,浏览器,电子书,播放音乐)(utools,quickadd)
- 一键收集灵感,网页链接,图片,文字(utools,quickadd)
- 一键提取文献关键信息(quickadd)
- 一键备份ob至github,gitee,本地文件夹(quickadd,utools)
- 快速创建任意目录,任意文件(quick switcher ++插件)
- 聚合所有未完成项,并且待办和主计划文件双向绑定(dataview)
- 一键分享笔记至个人博客。(utools,hexo)
- 可视化日程,习惯 ,笔记。(react component, chart)
- …
如果没有这种渐进的分类体系,可能没头没尾乱糟糟的吧。
最后,笔记内如何组织也是一个痛点,大纲笔记,主题笔记,卡片笔记,疑问式笔记,自顶向下记笔记还是分而治之;应该幽默诙谐的记笔记,还是要严肃认真的记笔记?笔记如何快速重构?等等等等…
有空再说。