这里是知识管理系列的第二篇,来聊一聊笔记软件的形态变迁。
自大学始,由于专业习惯,我便基本抛弃了手写笔记,改用电脑记笔记。选择趁手的笔记软件,就尤为重要。在此记录下自己使用过的一些笔记软件,从中也可一窥近年来笔记软件的发展脉络。
纯文本与富文本
记笔记最简单朴素的选择就是系统自带的记事本软件,方便快捷,无需任何使用门槛。
或许大家会觉得记事本很 low,但事实上在上课等需要速记的场景中,我们需要软件快速打开、响应,但对排版没有这么高的要求,完全可以事后再进行整理。此时记事本就成为了你的不二之选。
但毕竟我们的需求并不仅仅是临时记录,记事本终究难堪大任,因此我们大部分人随即都会把目光放到富文本编辑器上面,其中最强大的也是我们最熟悉的就是 Word 了。也会有不少人选择更加“专业对口”的 OneNote。
作为大而全的富文本编辑器,Word 能够满足几乎所有的排版需求。但过大的自由度有时候也并不是一件好事。一方面,我们容易纠结于排版的细节踟蹰不定。另一方面,操作的繁琐也使得我们不得不键鼠并用,容易打断笔记编辑时的心流体验。
如果说上述的问题,只是我们在还没用习惯强大软件之前的“自己的问题”,但“将 Word 作为笔记软件”这种使用方式本身也并非没有缺点。Word 将文件存储为私有格式,非常不利于检索和版本管理。如果你有多个 TXT 文件,你可以将它们放在同一个文件夹中,很方便地进行全文搜索。而如果你的笔记在多个 Word 文件中,就很难进行跨文件的搜索了。这对于构建自己的知识库是一个致命的问题。
大部分人用到的 Word 功能不到 10%。为了一些绝大多数我们用不到的功能,而需要忍受如此不便,这性价比未免太低。有没有一种折中的方法,既能保留纯文本的便捷,又能覆盖到做笔记的常用需求呢?
Markdown
没错,Markdown 就是这个问题的答案。
Markdown 本质上也是和 TXT 一样的纯文本文件。也就是说,你可以同样使用记事本编写。但和纯文本不同的是,你可以使用一些特殊的格式来标识文档的成分。例如:
# 这是一级标题
## 这是二级标题
这是**加粗文字**
这是一个列表:
1. apple
2. banana
3. orange
然后,在支持 Markdown 格式的软件、网站中,你的文档就会像富文本一样被美观地渲染出来。比如将标题放大加粗、列表添加统一的缩进等等。可以理解为它们自动帮你进行了类似 Word 的排版操作。
Markdown 最早被广泛使用于程序员写技术文档的场景,近年来渐有出圈之势。许多笔记软件,以及知乎、简书等主流网站,都默认支持这一格式。即使像公众号等原生不支持的平台,也有人自发为其制作了 Markdown 转换工具。
不妨让我们分析一下 Markdown 的优势何在,它缘何得到了众多用户的青睐呢?
首先,Markdown 的本质是纯文本,这意味着它拥有上文提到的纯文本的所有优点 —— 简单、轻量易编辑、易于版本管理和搜索、不会被单一软件绑架等等。
其次,Markdown 的语法格式设计非常讨巧。它使用常见的符号涵盖了一篇文章的常用元素,例如标题、粗体、斜体等,甚至有序列表的符号就是非常自然的 1.
2.
3.
。当然你是极端最佳实践派觉得应该全部使用 这一方面使得 Markdown 上手非常简单,另一方面也意味着 Markdown 的语法噪音极低。虽然一般我们看的是 Markdown 渲染过后的结果(如上图右侧),但即便光看原文(如上图左侧),我们也很容易理解文章的内容,自动脑补出右侧的样子。1.
就不在本文的讨论范畴之内了。
Word 中我们往往需要使用鼠标手动调整排版、修改样式。而 Markdown 使用符号标识文章元素,记录笔记内容和排版都是通过打字完成,无需脱离键盘,你得到的是即为顺滑的书写体验。
这里我想特别指出 Word 和 Markdown 中“排版”的不同点。在 Word 中排版时,我们关注的往往是标题或正文的字体、字号、颜色等。但在 Markdown 中,我们在写作时只需标注出哪里是标题,哪里是正文。至于它们最终具体长什么样,则由渲染 Markdown 的软件/网站决定。通常它们也会提供各种主题供你挑选。
这体现的是 Markdown 的“内容与样式分离”原则。在写作时,我们只需专注内容,无需为样式分心。而在调整样式时,假如我们调整了标题的样式,文章中的所有标题都会自动更改,无需担心遗漏。
其实 Word 中也能使用内容与样式分离的做法,只是大多数时候我们并不习惯于这么做
最后我们也不能忽视 Markdown 功能强大的特点。虽然大多数讲解 Markdown 的资料都着重于介绍它的简单易用,但也不要忘了 Markdown 依托的是 HTML,即网页,这一互联网的基础设施。这代表着只要网页能做的事情,Markdown 也都能做。硬要说的话,没有什么是 Word 能做而它不能做的。
当然,到这个份上,就需要一些超纲的知识了。以 Obsidian 为代表的不少软件通过插件等形式扩展了 Markdown 语法以支持这些复杂的功能。不过这些知识并非本文重点,就不详细展开了。
Markdown 也并非没有缺点。就我的观察,非计算机专业的用户入门时往往会困惑于如何居中、设置文字颜色以及调整图片的大小。虽然严格来说这并不是缺点,而是 Markdown 技术方案下的设计如此,但对小白用户来说却是实打实令人感到费解的点。
Typora
提到 Markdown 就不得不提到 Typora 这一款软件。Markdown 的出圈,Typora 功不可没。
传统的 Markdown 笔记软件通常采用两栏式布局。左侧放置 Markdown 的源文件,供你写作编辑。而右侧展示这个文件最终渲染出来的效果。
或许它们最早的设计师和用户都是程序员,这布局像极了代码对比工具的样子,但将其作为一个笔记软件的界面着实过于丑陋。左右两侧的内容大部分时候相差不大,浪费空间不说,还吸引你的视线不时在两侧之间切换,反倒容易打断你的写作思路。
而 Typora 打造了一个任何人都可以轻松上手并喜欢上的软件。它最大的卖点就是在当年独一无二的实时渲染功能,在输入 Markdown 符号后就会自动渲染为富文本的样式。这种做法既保留了 Markdown 书写流畅、顺滑的优点,又与 Word 等所见即所得的富文本编辑器在表现上别无二致。它洗脱了 Markdown 的极客标签,即使是完全没听说过 Markdown 的人也有兴趣去尝试使用。
块笔记
Typora 陪伴了我的整个大学生活。2021 年底,Typora 宣布推出正式版并转为付费,顿时引来了一大批用户的哀叹。
我觉得为一款优秀的软件付费是理所当然,值得鼓励的。我只是感到可惜,可惜 Typora 收费策略的生不逢时。如果它早几年开始收费,我一定会坚定地买买买。但我们不得不又提到 Notion 的横空出世。
虽说 Notion 的定位和 Typora 并不相同,Typora 只是一个文本编辑器,并不是大而全的笔记软件。但出于对它编辑体验的喜爱,我一直将它作为笔记的主力工具。而 Notion 出现后,其足以承包绝大多数笔记需求,剩余极少数的临时记录或编辑需求也足以使用记事本或代码编辑器的自带 Markdown 支持完成。Typora 在我的笔记体系中终究沦为鸡肋。
在前一篇文中我们已经介绍了 Notion 的数据库功能。但数据库之于 Notion 也不过是舶来品,Notion 真正革命性的功能是基于“块”的笔记构建形式。
初次使用 Notion 时,你会发现它兼容了 Markdown 的大多数语法,可以让你和 Typora 一样所见即所得地进行写作。但在底层,Notion 并不把文本存储为 Markdown,而是作为一个个“块”。
一个标题元素、一个段落、一张图片等等,都是一个独立的“块”,每个块都可以对其单独操作。
块笔记的形式,相比于 Markdown 又有不少的优点。
块相对于 Markdown 的样式有更高的可定制性。在 Markdown 中原生支持不佳的文字颜色、居中等特性,在块笔记中无非就是给块增加几个属性罢了。
将笔记的每个元素抽象为块,也极大增强了笔记内容的可扩展性。
原生 Markdown 中包含了常用的标题、段落、列表等元素,但对于更为复杂的需求,如嵌入视频、音乐、pdf 等,即使能用超纲的方法实现,但编辑和管理起来也并不友好。
而块笔记中,文本内容和其他奇奇怪怪的内容,只是不同类型的块罢了。它们都是笔记软件的“一等公民”。如果未来需要支持更多类型的内容,也只需要增加不同类型的块即可,非常方便扩展。
更进一步地说,块笔记相比于传统笔记,体现的是它在底层逻辑上的根本不同。
传统的笔记软件,无论是类似 Word 的富文本编辑器,还是 Markdown 编辑器,它们都以文章作为最小单元。而块笔记以块作为最小单元。
更小的抽象单元意味着更灵活的组合和使用方式。块不局限于图文,块与块可以自由地排列组合,组合而成的不一定是文章,也可以是看板、目录等其他视图。
块与块之间还可以互相引用、链接,这不正对应着现实世界中,知识与知识之间也是互相连接着的吗?这也使得块笔记顺理成章地进化到了知识管理软件的形态之上。
块笔记相对于 Markdown 等基于页面的笔记逻辑无疑是降维打击。自 Notion 起,许许多多的笔记后起之秀们都使用了块笔记作为它们的底层逻辑。
当然,块笔记也并非没有不足之处。
Markdown 及其背后的 HTML 有着统一的标准,这使得它们有良好的互操作性,软件的迁移成本很低,且方便与其他外部工具集成。(虽然有些 Markdown 软件为了增强自己的功能,也对 Markdown 做了不少标准之外的魔改,从而失去了这一优点。)
而块笔记由于本身的功能、块关联等能力较为复杂,难以使用一个简单的标准进行定义。各家也都有自己的标准和实现方式,并不能简单地互联互通。这也是为什么我们看到的块笔记软件都倾向于做一个 all in one 的大软件,而没有单独轻量的编辑器。
其他
还有一些值得一提的笔记形态,例如以 OneNote 和 AFFiNE 为代表的白板笔记。
白板笔记能够将整个页面变成一个大白板,打破了页面布局的条条框框,非常适用于进行批注和创造性工作的场合。但白板这一形态本身并不适合作为笔记的主力形态,往往与其他功能配合出现(例如 OneNote 的富文本 + 白板,AFFiNE 的块 + 白板),只能算是一个锦上添花的 feature,并不能算做笔记形态进化的主干脉络之一。加之本人也并不常用白板笔记,因此就不赘述了。
了解了形形色色的笔记形态之后,在系列的下一篇,我们将讨论如何把笔记关联起来,从而将一篇篇独立的笔记转化为完整的知识体系。