离开 Notion,在 VS Code 中构建第二个大脑

2025-06-08

离开 Notion,在 VS Code 中构建第二个大脑

好吧,说实话:我对笔记应用确实很不上心。我把所有能想到的笔记应用都用了几个月……但从来没觉得用起来“顺手”。

我觉得我最大的问题就是:我需要记点东西,但不知道该放进哪个神奇的文件夹/页面/服务/标签里。所以,我只能随便找个设备,找到第一个笔记应用就行了。我发誓总有一天会把它挪到合适的地方,但想到要把所有东西整理好,实在是太难了,根本没法行动😬

那么,我们来谈谈:

  1. 🙅‍♂️ 为什么 Notion 对我来说不够用
  2. 📜 第二大脑/Zettelkasten 方法是什么
  3. 🕺 Foam + VS Code 如何帮助我找到个人笔记的最佳方式

前进!

为什么不是 Notion?

Notion很快就成为了个人笔记和日记的首选。从开发者的角度来看,它有很多值得喜爱的地方:

  • 使用语法高亮功能轻松编写代码片段
  • 轻松导出至 Markdown
  • 如果您对数据表感兴趣的话,这里有大量的集成选项
  • 丰富的键盘快捷键

等等等等。但就我的经验来看,Notion 的入门和 Vim 很像。你得花 30% 的时间在效率天堂,另外 70% 的时间花在设置工具本身上!作为一名 UI 设计师和开发者,我实在受不了这些旋钮和开关。想要把一切都调整到完美状态真是太诱人了……但等一切尘埃落定,我还是找不到一周前写的代码片段 😔

从这个角度来看,我也没有看到任何更新对我有帮助。我的问题实际上在于 Notion 的基本方法:让用户尽可能灵活地构建自己的UI。如果我只是记录自己的想法和待办事项,我并不需要所有这些灵活性。

忽略这些花哨的东西也没什么帮助

当然,我可以摒弃这些诱惑,坚持使用基本的笔记页。但这仍然没有解决其他显而易见的问题。

首先,模糊查找笔记并不简单。Notion确实添加了一个“快速查找”选项,虽然有点用,但加载速度还是很慢😢 光是想按页面名称查找,我就等了好一会儿才找到我想要的结果(或者根本找不到)。当然,我希望这种情况能随着时间的推移有所改善。但由于数据归Notion 所有,而不是你的个人电脑,所以加载过程中总会有卡顿。

我对 VS Code 的精妙之处也深信不疑。目前,Notion 不提供使用正则表达式进行全局查找、按“目录”(我猜是 Notion 中的父页面)搜索,以及其他一些开发人员习以为常的实用工具。还有,编辑时的快捷键也别忘了!查找替换,多光标,快速上下移动行?这可真是文本编辑器的一大亮点。

我梦想的工作流程

抛开这些不谈,让我们来看看我真正想要的东西:

  1. 从零开始轻松写笔记。理想情况下,我只需创建一个新文件,无需担心它放在哪里
  2. 以后轻松查找我的笔记。模糊查找、标签、文件名……一切皆有可能。
  3. 保持用户界面简洁!大多数时候,我只需要用 Markdown 语法就能记录我的想法。

事实证明,有一整套笔记策略可以解决这些问题!

进入第二大脑🧠

我听说过这个概念有一段时间了,但一直没意识到它其实是一种做笔记的策略。正如你所料,它的核心就是尽可能多地写作,这样你就能以笔记的形式拥有第二个大脑。

这个概念源自纸笔时代使用的Zettelkasten方法。它建立在一些非常基本的原则之上:

  1. 每条笔记都被视为一个独特的想法集合,由某种独特的 ID 标记
  2. 笔记应该形成一棵不断延伸的树状结构,将相关的想法/思路串联起来。这通过笔记之间的“链接”(指向这些唯一ID的引用)来实现,就像网络上的超链接一样!
  3. 假设你的 Zettelkasten 变得相当大,你可以用标签或目录索引多个笔记“树”

关于如何正确制作 Zettelkasten,有无数的建议。但总的来说,很明显,物理 Zettelkasten与 Web 的工作方式完美契合。那么,为什么不使用一堆 HTML 文件来创建一个呢?或者更好的是,使用 Markdown 文件?

让我们回到 VS Code + Foam 的基础知识

如果我们要简化笔记记录过程,没有什么比文本编辑器更简单了😁

我最近发现了一个名为Foam的项目,它实际上并不是一个独立的项目;它是一系列可以很好地协同工作的扩展,并提供了一些有关如何充分利用它们的有用指南。

您只需克隆一个仓库,然后见证奇迹发生!它会推荐您编辑、链接和查看笔记所需的所有扩展程序。但归根结底,您实际上只是在电脑上编写一堆 Markdown 文件。让我们来了解一下它的强大之处:

鸟瞰视角

Foam 笔记法的一个关键点值得讨论:你永远不需要按目录对笔记进行分组。我们习惯于使用文件系统来组织一切,但说实话,我们的大脑可不是这么运作的!

Foam 专注于通过链接而非文件夹层级来连接笔记。这使得定义可能在很多地方引用的笔记变得更加容易。您无需查找笔记所在的确切目录,只需引用文件本身即可。

Foam 会通过图形可视化扩展功能,帮你发现链接中自然浮现的任何模式。它基本上就是一张你头脑中的大地图,你可以点击进去探索!

Rust Lang 书籍笔记链接

这是我最近学习 Rust 语言的挑战生成的图表。请注意,它与目录树所要求的父子关系并不完全匹配。例如,最左边的“结构体简介”被“枚举”“Rust 所有权”引用。但你不可能让同一个文件同时位于多个目录中!这就是使用自由格式链接的妙处;任何内容都可以引用其他内容,因此它不像一棵树,而更像一个有目的的、错综复杂的鸟巢😁
鸟巢中央有蓝色的蛋

我的大脑的隐喻

解决“我需要尽快写这个”的问题

这张漂亮的图表解决了我们之前的组织瘫痪问题!现在我们已经抛弃了整个目录范式,写下新内容的门槛就低了很多。

如果我们碰巧写了一条没有引用其他笔记的笔记,也不用担心!我们的图表可视化功能以后会帮我们找到那些零散的笔记。这帮助我将一些关于书籍和播客的零散笔记整合成一个目录,如下所示:

# The Logs

This is where I'll record everything I consume that _taught me something._ Topic? Doesn't matter. Length of the summary? Could be a couple words. Just need to record everything I possibly can!

## Podcasts
- **11-28-20** [[writing-for-software-developers-with-Philip-Kiely]]

## Blog posts
- **12-20-20** [[Kent-C-Dodds-Avoiding-re-renders a-useDebounce-example.md]]

## Books
- **11-26-20** [[the-dark-forest-Cixin-Liu]]
- **12-29-20** [[the-case-against-education-bryan-caplan]]

...
Enter fullscreen mode Exit fullscreen mode

附注:如果你还没读过《三体》,一定要读一读。它和我以前看过的任何书都不一样。

这也解决了我使用 Notion 时遇到的一个痛点。虽然它能快速链接不同页面,但你永远无法获得所有内容如何组合在一起的概览。现在,你所有的笔记都能像拼图一样拼凑在一起了🧩

其他细节

Foam 似乎拥有一个强大的贡献者社区,他们不断添加新功能。例如,它提供了一种简单的方法,可以通过反向链接找到所有引用当前页面的页面

VS 代码扩展列出了引用我当前页面的所有页面

这会在 VS Code 工具栏中直接显示我之前提到的“结构体简介”笔记的所有参考资料。这是一个很好的概览,无需亲自浏览整个图表可视化。

您还可以为笔记添加标签,以便将常见主题分组。您只需在笔记顶部添加一些元数据即可:

---
tags: [learning-rust]
---
Enter fullscreen mode Exit fullscreen mode

太棒了!它在 VS Code 中也可以全局发现 💪

VS 工具栏使用给定标签读出所有笔记

那么这是做笔记的灵丹妙药吗?

说实话……我不这么认为。至少在我跨设备记笔记的时候是这样这是因为一些非常基本的限制:

  • 在手机上没有实际的方法可以查看这些笔记,更不用说编辑它们了
  • 我无法从平板电脑添加手写笔记和绘图,除非我每次都想上传截图

Notion 也存在这些问题,所以对我来说这绝对不是一个退步(是的,我知道 Notion 有一个移动应用程序,但它充满了加载旋转器和太多的按钮,不符合我的口味😬)。

尽管如此,仅用一个文本编辑器和几个扩展程序就能完成这么多工作,这着实让我印象深刻。能够真正拥有自己的笔记,而不是使用云端系统,也让我感到安心。

因此,进入 2021 年,我一定会坚持使用 Foam 🎉 如果您有任何关于如何从“第二大脑”中获得更多收益的建议,请在评论中留下它们!

学到一点东西吗?

太棒了!万一你错过了,我特意开通了“网络魔法”简报,来探索更多类似的知识!

这东西探讨的是Web 开发的“首要原则”。换句话说,究竟是哪些糟糕的浏览器 API、扭曲的 CSS 规则以及半无障碍的 HTML 支撑着我们所有的 Web 项目?如果你想要超越框架,那么亲爱的 Web 魔法师,这东西就是为你准备的🔮

赶紧在这里订阅吧!我保证永远教书,绝不会发垃圾信息❤️

鏂囩珷鏉ユ簮锛�https://dev.to/bholmesdev/giving-up-on-notion-to-build-a-second-brain-8b2
PREV
使用 CSS 变量如何帮助我减少 JavaScript
NEXT
一个简洁的 DIY 滚动动画解决方案(适用于任何框架)