高效率工具 004 -- 夺回对数据的控制权,试试用 Markdown 打造文本处理工作流

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

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

  1. 可以在 Vim 里写作/编辑;
  2. 可以用 Git 做版本控制;
  3. 可以用 Pandoc 方便地转换成 PDF 等格式;
  4. 可以使用 Papers 的 citation key,引用管理的问题也解决了;
  5. 可以任意选用备份方式,我当时使用了 Dropbox + Github 的双保险,在不同的地方至少有五个备份,绝对不会出现没了电脑就没了论文的窘境。

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

什么是 Markdown?

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

为什么是 Markdown?

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

  1. Markdown 在硬盘上占用的空间很小,比如这篇文章,在我的硬盘上,md 格式的文件只有14kB,存成 PDF 就是160kB,十倍大小都不止。
  2. Markdown 非常容易上手,并且它用简单的符号就能处理加粗/多级标题等格式,可以让我们在写作的时候减少分心;
  3. 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

    Format Conversion

    当我刚开始用 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 订阅 Yes macOS, iOS, iPadOS 收集点子
    Mak
    Yes macOS, Windows 收集点子/时间管理
    nvALT
    Yes macOS 收集点子
    Obsidian
    Yes macOS, Windows, Linux 笔记管理
    Typora
    Yes macOS, Windows, Linux 严肃写作
    Ulysses 订阅
    macOS, iOS, iPadOS 严肃写作
    MindNode 订阅
    macOS, iOS, iPadOS 脑图制作
    NotePlan 2 Yes
    macOS, iOS, iPadOS 时间管理
    Pandoc
    Yes macOS, Windows, Linux 格式转换
    Marked 2 Yes
    macOS 格式转换
    MindNote
    Yes macOS, Windows, Linux 笔记管理

    我们刚刚发布了提高可持续生产力的工具 BRNR List
    如果你也想成为更高效的人,欢迎加入我们的 TG 群
    也欢迎订阅我们的 TG 频道!