笔记软件换了五六轮,最后回到纯文本 Markdown + Git
Notion、Obsidian、Logseq…… 笔记软件换了五六轮,最后回到纯文本 Markdown + Git。 每次换都是因为新软件承诺解决上一家的痛点:Notion 解决协作但锁死数据格式,导出要么是 zip 一堆嵌套 JSON,要么是 HTML 没法再用。Obsidian 解决本地化但插件生态混乱,质量参差不齐,每个新电脑都要重新装一遍那 20 个插件。Logseq 解决块引用但查询慢得像老牛,1000 条以上就有明显卡顿。结果换到最后,每个工具都留下了 1000+ 条笔记,但真正想找的时候,全都想不起来放在哪。 回到 Markdown + Git 的那天,我做了一件事:把五年里散落的笔记全部 cat 到一起,发现真正有价值的不到 300 条。剩下 1700 条,要么是会议纪要(已过期)、要么是读书摘抄(书都忘了)、要么是「明天要做」的清单(早就做了或早就不做)。这些不是「笔记」,是「思考的副产品」——它们在写下的时候有意义,但脱离上下文之后就是噪音。 工具有用,但工具不是答案。笔记的密度比笔记的数量重要 100 倍。 另一个让我坚定回归文本的原因,是版本控制。Git 给了我一个 Notion/Obsidian 都给不了的能力:每条笔记的修改历史。我能看到「2024-03-12 我对 React Server Components 的判断」和「2025-08-04 我对 RSC 的判断」,对照读一遍,思维的演化路径就出来了。Notion 有 page history,但它不是 git,没法 diff,没法 rebase,没法把某次「写错了的判断」彻底丢掉。 最后一个原因是:纯文本不会死。Notion 还在不在?Obsidian 还在不在?Logseq 还在不在?我不确定。但 .md 文件 50 年后还是 .md 文件,git 仓库 50 年后还是 git 仓库。这不是怀旧,是「减少被工具绑架」的风险。 所以现在的配置是:所有笔记 .md 写在 ~/notes/ 下,按年-月-日-主题命名,git commit 时机是「想法成型」的那一刻而不是「写完的那一刻」。搜索用 ripgrep + fzf,前者快,后者交互舒服。足够了。 2026 年的视角看,Karpathy 自己也提出了一个类似的概念叫「LLM Wiki」——把笔记当作「给未来 AI 读的文档」来组织,markdown + frontmatter + 严格的分类层级。这跟我现在的实践不谋而合:当 AI 助手能在 100ms 内帮你 cross-reference 五年前的某条笔记时,笔记的「机器可读性」比「人类可读性」更重要。所以我会更严格地用 YAML frontmatter 标注每条笔记的 tags、context、related_notes,让 AI 能精准定位。这也是为什么我不再用 Notion 这类「人类排版优先」的工具——它的数据结构对 AI 不友好。