一早起来看到朋友抱怨笔记文件迁移起来非常麻烦,所以放弃从 Evernote 迁移数据到 Notion。也许大家都有类似的困境:用了很久的文本处理工具越来越难以适应新的需求,可是迁移到新工具的成本又非常高(主要是数据导出和格式转换),所以到底迁移还是不迁移?

差不多十年前,当我开始写学位论文的时候,也遇到类似的问题:最终提交的版本是 PDF,老板评阅的时候希望通过 Google Docs,而我写的时候又要考虑插入引用的问题。最主流的选择可能是使用 Latex,除了给我老板看的时候要转换成其他格式贴到 Google Docs,好像没啥大问题?可惜,我比较懒,Latex 的学习曲线太陡峭,我也没有很多公式要处理,所以最后我选择 Pandoc Markdown (Markdown 的一种方言)写完了三百页的学位论文。当时用 Markdown 写论文有以下几个优点:

  1. 可以在 Vim 里写作/编辑;
  2. 可以用 Git 做版本控制;
  3. 可以用 Pandoc 方便地转换成 PDF 等格式;
  4. 可以使用 Papers 的 citation key,引用管理的问题也解决了;

可以任意选用备份方式,我当时使用了 Dropbox + Github 的双保险,在不同的地方至少有五个备份,绝对不会出现没了电脑就没了论文的窘境。

简而言之,使用 Markdown 这种简单的标记语言,我将数据牢牢掌控在自己手中。十年后的今天,我依旧庆幸自己当初做了这个选择。这么多年,虽然工具变化了很多,但是数据都是基于 Markdown 格式存储的,所以这些数据都还躺在我的硬盘里。新工具不断诞生,旧工具不断消失(比如当年大红大紫的 Mou),我的文本处理工作流也发生了很大的变化,所以在此梳理一下。

什么是 Markdown?

Markdown 是一门非常轻量的标记语言,比如上面提到的 Latex 也是一门标记语言,但是它非常重。既然是标记语言, Markdown 可以通过各种方式渲染成好看的格式,或者轻松地转换成其他语言。而 Markdown 最大的特点就是轻量,任何人只要短短几分钟就可以轻松上手这门语言,具体的语法我们就不展开了,如果你还不太了解它的语法,可以去它的联合创造者 John Gruber 的网站上查看语法(另一位是英年早逝的联网之子 Arron Swartz 联)。随着时间的推移,各种方言不断衍生,比如 MultiMarkdown,Github Markdown 等等,大家可以根据自己的需求选择适合自己的 Markdown 语言。

为什么是 Markdown?

正因为 Markdown 十分轻巧,所以它成为了我们打造文本处理工作流的不二选择:

Markdown 在硬盘上占用的空间很小,比如这篇文章,在我的硬盘上,md 格式的文件只有14kB,存成 PDF 就是160kB,十倍大小都不止。

Markdown 非常容易上手,并且它用简单的符号就能处理加粗/多级标题等格式,可以让我们在写作的时候减少分心;

Markdown 转换起来方便,后文会介绍几款转换工具。比如我有一位在传统媒体工作的朋友,因为憎恶 MS Word,所以在 Ulysses 里用 Markdown 写稿,然后用内置的工具转换成 Pages/Docx 发给其他同事。

如何使用 Markdown 打造文本处理工作流?

诚如知名生产力博主 Ali Abdaal 最近的介绍,他使用不同的工具处理不同的任务,所以最佳的工具其实是最合适的工具。我们有各种处理文本的需求,所以也有可能需要不同的任务来应对这些续期,所以我们在下面根据不同的需求来推荐对应的 Markdown 工具:

  1. 收集点子;
  2. 笔记整理;
  3. 严肃写作;
  4. 时间管理;
  5. 脑图
  6. 格式转换。

每个分类下的工具需要满足两个要求:1. 可以处理 markdown 文件,2. 可以由用户选择数据存储位置。基于这两点,我们可以通过 Markdown 这种格式来掌控自己的文本数据。当然,不少优秀的工具也因此落选,比如 SimpleNote 是非常简洁好用的跨平台笔记工具,但是它的数据都是通过 Wordpress 母公司的服务器同步,用户无法选择本地数据,所以不在我们的推荐之列。

另外,推荐的工具主要集中在 macOS/iOS/iPadOS 生态下,部分也有 Linux / Windows 的版本,因为我只熟悉 Apple 生态。如果你熟悉 Windows / Android / Windows 上的笔记工具,也欢迎在评论里补充。

收集点子

不关你在构建自己的 Second Brain ,还是使用 Zettelkasten 来构建自己的笔记系统,收集点子都是重要的第一步。比如我会看大量生产力视频来学习新方法,我新养成的习惯就是在观看这些视频的同时,随手记录他们的要点,并把自己的想法记录下来,因此一款趁手的收集点子的工具就非常重要。

Drafts

 

 

Drafts 原先是一款 iOS only 的工具,去年增加了 MacOS 版本,并且由买断改为了订阅,好在免费版本的功能已经十分强大,所以成为了我们收集点子的最佳选择。

  1. 基于 iCloud Sync 的同步功能,方便在 iPhone / iPad / Mac 之间同步数据;
  2. 官方提供了脚本库,我们可以根据需要安装;
  3. 支持听写,所以我们可以口述笔记,它能自动转换为文本;
  4. 支持多种 Markdown 语法,除了 md 本身,还有 MultiMarkdown ,github markdown 等。

nvALT

nvALT 是一款老牌的轻量笔记工具,主打的就是快,目前这一版本的 UI 设计还延续着古老的 macOS 设计语言。

  1. 不用的时候它就在状态栏里,即用即走;
  2. 丰富的快捷键支持,基本上可以只使用键盘操作;
  3. 丰富的接口支持,用户可以自行拓展工作流,比如直接用外部编辑器打开长文档;

它的维护者 Brett Terpstra 说(MultiMarkdown 的作者 Fletcher Penney)正在开发基于 nvALT 的新一代笔记工具 nvUltra

笔记管理

如果你有非常多的笔记,那么可能就需要一款笔记管理工具来组织管理这些宝藏。比如 OneNote,Notion 就是这一类工具的代表,可惜使用它们的用户对于没有完全的掌控,所以我们推荐的是 Obsidian 和 Foam 这两款工具,它们是近来这类工具的代表之作。

Obsidian

这是 Dynalist 的作者开发的新工具,目前正在活跃地开发 beta 版本,面向个人免费,当然你也可以付费支持。

  1. 支持双向链接,这可能是目前笔记管理类软件最红的功能了吧;
  2. 快速的迭代,目前开发者非常专注地迭代,基本每周都有版本更新;
  3. 活跃的社区,社区十分活跃,而且开发者经常在里面收集反馈,并在新版本中实施;

Foam

Foam 是一款参考 Roam Resarch 的开源文本管理工具。它本身不是独立工具,可以用插件的形式借助 VS Code 实现,我们可以在 VS Code 内安装 Foam for VSCode 来使用这一工具。

  1. 支持双向链接;
  2. 我们可以非常方便地定制自己的 Foam 工作环境,比如可以在 VS Code 里加上 Git,可以绑定 Vim 快捷键等等。

严肃写作

前面提到的 Drafts 和 nvALT 比较适合短文本的记录,但是一旦要撰写比较长的笔记或者文章,它们就显得捉襟见肘。所以在严肃写作的时候,我们需要更加专业的工具,这里推荐 Ulysses 和 Typora。当然这个分类下类似的工具还有很多,比如 MWeb,你也可以根据自己的需求来选择。

Ulysses

 

 

Ulysses 是非常知名的严肃写作工具,甚至有大量的作家使用这一工具。既然如此,一定有不少特性是它独有的:

  1. 可以将文档设定为 material sheet ,类似卡片写作中的卡片,等到一系列的卡片完成之后,一键就可以将它们合并成完整的文档;
  2. 有各种写作辅助工具,比如目标设定,语法检查等;
  3. 丰富的导出接口,这些内置的导出工具极大地方便了用户使用;

Typora

 

 

相较于 Ulysses 的高价,Typora 的免费使用可能是它最吸引人的一点。当然免费不等于廉价,Typora 的开发质量非常高,使用体验也非常棒:

  1. 即时渲染,当用户使用 md 写作的时候,它立即会渲染成相应的格式;
  2. 支持创建 md 表格;
  3. 支持 Latex 语法;
  4. 复制文本的格式默认为 HTML;

时间管理

市面上的时间管理工具五花八门,层出不穷。绝大多数的时间管理工具都将数据牢牢掌握在自己手里,用户对它们失去了掌控。好在 NotePlan 和 Mak 都是基于 md 文件打造的时间管理工具,所以用户可以很方便地管理自己的数据。

NotePlan 2

 

 

NotePlan 是一款将日历和笔记结合到一起的工具,跨 macOS/iOS/iPadOS 三个平台。德国独立开发者 Eduard Metzger 凭一己之力从 2016 年开始开发这一工具。

  1. 默认支持 markdown 语法,这样一下子将上手成本降低了很多。比如它会自动将 - 开头的行识别为一条任务;
  2. 内置了笔记和日历模块,很好地将待办列表,日历和笔记三者结合到一起;
  3. 支持无线级别的标签,用户可以使用 / 对标签分级,方便对标签分组;

Edward 还公开了数据在用户硬盘上的地址,这样用户可以非常方便地迁移数据或者对数据进行再加工。

iCloud Drive Paths

General, standalone Notes: ~/Library/Mobile Documents/iCloud~co~noteplan~NotePlan/Documents/Notes Calendar, daily notes: ~/Library/Mobile Documents/iCloud~co~noteplan~NotePlan/Documents/Calendar

Mak

这是我的好朋友 Shu 的独立制作,与 nvALT 的概念类似,不过这款工具对于待办列表的支持更棒,所以我就把它放在这一分类下了。具体的使用方法可以参考这篇文章

  1. 默认使用 gist 存储数据,所以我们可以方便地同步数据,按照 Shu 的说法,Mak 可以当作是 gist 的 GUI;
  2. 即开即用,用完即走,非常轻量;
  3. 包含了内链,非常方便关联相关文件;

如果你想将 gist 同步到本地,可以使用这款工具 gister

格式转换

当我刚开始用 md 的时候,很多工具只是一个纯粹的 md 编辑器,只支持读取/存储 md 格式。想要把 md 转换为其他格式,其实很不方便。幸好,我们有几乎全能的 Pandoc 和优雅的 Marked 2。

Pandoc

Pandoc 是一款无比强大的文件格式转换工具,它是由 Berkeley 哲学教授 John MacFarlane 独立开发的。至于这款工具到底能转换多少格式,请看这幅图片

Pandoc 其实有自己的 md 变体,这套 md 方言更好地支持了学术写作,方便把 md 转换为 Latex。如果你打算和我一样,利用 md 来写学术论文,请参考 Pandoc Markdown写作规范

Marked 2

 

 

如果你不习惯使用命令行工具,那么 Marked 2 是你的最佳选择。

Mindmap

Mindnode

 

 

严格来说,Mindnode 并不是一款 md 工具,但是它支持 md 输入/输出,所以我们可以拿它转换脑图和 md 文件。举个例子,MarginNote 是一款很棒的阅读工具,可以生成框架化的阅读笔记,但最大的缺点就是不支持 md 格式导出。所以我们可以先导出 mmap 的文件格式,这是一个通用的 mindmap 文件格式;然后我们用 Mindnode 读取这一 mmap 文件,并导出为 md 格式。所以 Mindnode 就变成了一个文件格式转换工具。

Recap

上面这些基于 md 的工具不仅极大地方便了我们的文本处理工作流,也让我们重新掌控了自己的数据。如果你也希望掌控自己的数据,希望上面这些推荐能够对你有所帮助。

名称付费使用免费使用支持平台分类
Draft订阅YesmacOS, iOS, iPadOS收集点子
Mak YesmacOS, Windows收集点子/时间管理
nvALT YesmacOS收集点子
Obsidian YesmacOS, Windows, Linux笔记管理
Typora YesmacOS, Windows, Linux严肃写作
Ulysses订阅 macOS, iOS, iPadOS严肃写作
MindNode订阅 macOS, iOS, iPadOS脑图制作
NotePlan 2Yes macOS, iOS, iPadOS时间管理
Pandoc YesmacOS, Windows, Linux格式转换
Marked 2Yes macOS格式转换
MindNote YesmacOS, Windows, Linux笔记管理

 

如果你也想成为更高效的人,欢迎加入我们的 TG 群

也欢迎订阅我们的 TG 频道