分享我个人的使用感悟,也许可以帮助到一些人快速掌握 Obsidian。
为什么 Obsidian 看上去很难
当你安装完 Obsidian 之后,就可以立即开始写作了,使用方法不会比使用 Word 或记事本更复杂。
为什么显得很难,是因为 Obsidian 是专门为打造个人知识库而生的。
可以看看 Obsidian 的作者自己是怎么说的:
Why build yet another note-taking app? we started Obsidian because Erica couldn't find anything that can satisfy her need to build a personal knowledge base. 来自: https://obsidian.md/about
显然,Obsidian 做的很好,推出不久就吸引到了大量有此需求的用户。
我在网上看到过很多评测和经验分享,在使用 Obsidian 之前,这些人都有着多年的知识管理相关软件(例如 Notion)的丰富使用经验。
这些早期的优质用户也推出了大量的教程和经验分享,他们把各种知识管理方法应用到 Obsidian 之上,推广和讨论着诸如 Zettelkasten、 PARA、LYT 等笔记方法。讨论着各种插件,诸如 Kanban,DataView 等该如何使用。
Zettelkasten,卡片盒笔记法 PARA ,即四个词语的缩写,分别是 Projects,Areas,Resources,Archives LYT,即 Linking Your Thinking 想要了解更多可以 Obsidian + 关键字搜索。
种种概念,我估计很多人都没有听说过,我自己也是先知道的 Obsidian 才了解到这些的。而很多人关于 Obsidian 的分享,背后都或多或少有着这些理论支撑。
正是这些长篇大论造就了 Obsidian 很难的名声。
所以,其实不是 Obsidian 难,而是「打造个人知识库」这件事很难。
然而,你不必先掌握这些理论才能用好 Obsidian。
以下内容仅代表个人观点,未必适用所有人。
新手入门 Obsidian 的关键
Obsidian 3 个最基础的特点:
- Local-first and plain text;
- Link as first-class citizen;
- Make it super extensible.
仍然来自:https://obsidian.md/about
理解并接受「链接是一等公民」是关键之所在。
Obsidian 的初始链接配置
第一次使用 Obsidian 的时候,我是很不安的。
因为我发现新建的笔记直接保存在了笔记库的根目录下,并且没有提供很多选项:
链接格式直接使用 [[链接名]]
这种「尽可能简短的形式」:
也就是在 [[链接名]]
里面的链接名字只包含文件名并不会出现路径。
这就奇了怪了,链接不含路径信息是怎么找到目标笔记的呢?如果出现重名的情况怎么办?如果移动笔记到其它文件夹会怎么办?
我的第一反应是修改配置,让链接能够显示路径,甚至考虑关闭掉这种另类的 Wiki 链接格式。
在经过简单的测试之后,我发现:
- 如果笔记库出现同名笔记,则链接自动更新为带路径信息的
- 如果没有重名的话,在笔记库内任意移动笔记位置(包括通过资源管理器直接操作文件),链接都不受影响
- 如果笔记链接包含了路径信息,则只有在 Obsidian 界面上通过命令移动笔记文件,链接才可以更新;在资源管理器中直接移动文件,会造成链接失效
这让我意识到一件事,一件可能过于微不足道以至于很少见人提及的事:笔记名字是关键。
目录不重要,名字是关键
曾经在使用传统笔记软件(如有道云笔记、OneNote)记笔记阶段,我最头疼两件事:
- 在想记笔记的时候头疼:该放在哪个目录下才合适呢?
- 过了一段时间之后找笔记头疼:明明当时记了笔记的,在哪儿呢?
由于不能快速地找到笔记,反过来又让我觉得是笔记目录设置的不够好,从而刺激我设置更精细的分类。
于是分类越来越细,目录越来越多,每当学到一个新知识点,就得为它创建一个新文件夹,新建笔记时更加的头疼了。
这样不断地恶性循环造成的后果就是:非必要就不记了(反正是网上的内容,下次再搜呗),或者干脆就放在默认分类里(反正最后都是要靠全文搜索的)。
所以,当我意识到在 Obsidian 中,不是靠路径而是靠名字来定位笔记的时候,我突然就悟了:
只要每次创建笔记的时候取一个好名字就可以了。
笔记的作用就是为了记录一件事,用一句话把这件事情描述清楚,这句话就是标题。
例如,一篇笔记如果分类过细可能会是这样:
编程/Python/标准库/asyncio/什么是Future
而现在这篇笔记可能叫这个:
Python asyncio 模块中的 Future 是什么
由于我很确信 asyncio
是 Python 中的模块,所以可以简写为:asyncio 模块中的 Future 是什么
。相较于之前要打开几层的目录,现在笔记可以直达。
在以前,新建一篇笔记的流程是:
写着写着发现内容和所属分类有偏离怎么办?
- 换一个目录
- 新建一个目录
- 就这么着吧(反正有搜索)
而现在是:
Ctrl+N
新建笔记,把名字写清楚即可
如果发现已有同名的笔记了,那么应该想想为什么,是名字不够精确还是内容确实重复了。如果不同的内容在名字上重复,那么是不是应该通过其它方式进一步标记,或者它们其实不该出现在同一个笔记库里。
如果你怎么都想不到一个合适的名字,那么很大的可能是它本不适合作为一篇笔记被记下。
从我个人的使用情况来看,除了出于测试目的随意创建的笔记,例如 Test123
之类,正常的笔记基本不可能再出现重名的情况了。
至此,我已经完全接受了所有笔记放在一个文件夹内这个设定,只是觉得放在根目录还是有点乱,在根目录下新建了一个 Notes 目录。
文件夹现在还要不要了?
文件夹还是需要的,只是它的功能变单一了。
文件夹只做「文件类型」的分类,而不再做笔记内容的分类。
Notes
文件夹内就是放置笔记的地方,里面也不再设置子文件夹,所有的笔记都平铺在内。
Attachments
文件夹内是存放附件的地方,里面为各种附件类型做了子文件夹,例如 Images
存放图片,Books
存放电子书,Videos
存放视频。
其它一些文件夹主要是插件的配置而定,比如 Excalidraw
目录专门存放 Excalidraw
插件生成的内容,Journal
是日记插件生成日记的地方。
诸如 编程
,读书笔记
,云计算
,股票
之类的内容话题,现在都不再使用文件夹分类。
先创建链接,再创建笔记
在 Obsidian 中,生成一个指向某个笔记的链接不需要该笔记已存在。
这听上去有些反常识,但是真正体现了「链接是一等公民」,并且作用巨大。
例如,我写了以下这篇笔记:
Python 是一门解释型的编程语言。
为了直观,旁边展示了该笔记的关系图,孤零零的一个点。
现在只要在知识点上加上双方括号 [[]]
[[Python]] 是一门解释型的[[编程语言]]。
立马多出了两个链接。这里的 Python
和 编程语言
都会被视为一篇笔记。其中 编程语言
因为不存在,所以显得更加暗淡。
此时,如果点击了还没创建的笔记(不管是文中还是图上的点),则会自动创建并跳转过去。
如果不是点击后就自动创建,甚至可以永远不去创建它。Obsidian 会记住这些未创建的笔记。
这为我们提供了新建笔记的另一种方法:在其它话题中有涉及到时,可以先创建链接,以后有时间了再来补充内容。
继续创建一篇笔记:
这时候,切换到 编程语言
,很清楚地可以看到,它们之间的关系:
可以调节图形的显示深度为 2,可以看到 Python
和 JavaScript
之间的关系。
这里只是为了演示需要,其实我平常很少去查看关系图。
当你知道你写下的所有内容只要随便添加几个链接,它们最终都会默默地通过某个路径连接到一起,再也不用担心因为存的地方不对而无法回忆起时,随手记点东西会变成一件让人非常愿意去做的事情了。
什么是 MOC
像 Python
、编程语言
这种无需记录太多的数据,专门充当链接节点的笔记,在 Obsidian 社区通常会被打造成 MOC (Map Of Content) ,也就是内容地图。
你可以在里面添加内容,把它打造成一个索引页,也可以完全不去管它,就留着空白即可。
严格来讲,传统的索引或者目录(TOC,即 Table Of Content)都是主动去连笔记,同时还有固定的顺序。而双链的存在,只要每个笔记主动去连 MOC 即可,内容之间更加自然地建立起联系,笔记之间也没有先后顺序之分。
相较于使用文件夹来分类笔记:
- MOC 直接和笔记内容关联,而不是强制要求在笔记创建的时候选择
- 一篇笔记可以属于多个话题,可以关联任意多个 MOC
- MOC 不需要事先创建
- MOC 自身也是笔记,可以包含内容
使用 MOC 来归类笔记,而不是通过文件夹,这种方式更加自然,完全没有任何记忆负担和选择困难。
在 MOC 的应用中,有的人会推荐显式地标记哪些笔记就是 MOC,例如创建名为 编程_MOC
的笔记。从我个人的感受来说,这样做太过于刻意,且无形中增加了记忆负担。因为随之而来会冒出一堆的问题:
哪些是 MOC 哪些是普通笔记?当前内容应该链接到哪个 MOC?应该为 XXX 创建一个 MOC 吗?等等。
因此我的做法和建议是:只管在写作的时候创建链接,直到某个话题链接的内容变得足够多了,再考虑是否有必要把 MOC 的内容整理一番。(大部分情况下都没有必要)
有的人可能会觉得,这样链接不就和标签一样了吗?事实上确实如此,在 Obsidian 的实践中,很多人把链接作为标签来用。
标签和链接该如何选择
在 Obsidian 中,使用 #tag
的形式来定义标签。
标签和链接该如何选择呢?这个问题没有标准答案,完全看个人喜好。
我个人的选择是:
- 内容的话题采用链接的形式
- 内容的状态或性质则采用标签的形式
所谓的话题,就是笔记内容包含的东西,比如说 Python
,Linux
,网络编程
,通常这些话题会很自然的出现在笔记正文中。
而状态或性质,则和笔记内容本身没有直接关系,例如 #todo
,#草稿
,或者 #日报
,#效率
等。
从我个人的理解,链接所体现的是内容天然的关系和类别,而标签更多的是人为添加的便于搜索和过滤的标记。
事实上,标签能做到的事情,可以通过一些插件(例如 Kanban
) 做到相同的效果,而这背后实际上还是链接在起作用。
在实际使用中,标签我用的很少,而且经常忘记打标签,不足以构成体系。
小结
新手入门 Obsidian 最关键的是要意识到「链接是一等公民」,意识到新建笔记应该从取一个明确的名字开始,同时充分利用文件夹、链接和标签从不同的维度划分笔记内容。
- 文件夹用来存放不同类型的文件
- 通过链接连接笔记,使用 MOC 充当话题分类
- 使用标签标记笔记的状态