曾经在我的笔记软件使用历程中总结了我对笔记软件的需求:

  1. 可以离线使用、在线同步,电脑、手机都能查看、修改
  2. 可以插入图片
  3. 方便的搜索功能
  4. 可以导入导出,方便以后迁移

以这个需求总结为标准去选择软件,Evernote 是一个理想的结果。这两年我一直在用 Evernote,用得挺愉快。

但是,生活中常常发生这种情况:

在遇到某个东西之前,你不知道你还有那种需求,因为你以前根本不知道还可以做那种事。在遇到那个东西之后,你发现那样做好爽,那个东西成了你的必需,你再也无法忍受没有它的日子了。其实,那种事你早就朦胧地想要了,只是没有明确意识到而已,是那个东西唤醒了你潜在的需求。

WorkFlowy 就是这种东西。

Workflowy 是一个建立多级列表的网络应用。虽然是网络应用,却比我用过的所有桌面软件都更加流畅、好用。

在 WorkFlowy 里创建和编辑列表非常轻松愉快。其鼠标和键盘的操作都非常符合直觉,完全不用去学,有随心所欲的快感。想着,这里应该是这样吧,不知道行不行,试一下,结果果然就和预想的一样。

WorkFlowy 的网站介绍说,其实所有的东西都可以写成多级列表的形式。我使用之后感到完全同意。其操作的流畅、好用,让我有冲动把所有东西都层级结构化,都用列表的形式写出来。

多级列表虽然看似简单,但是这种层次结构清晰的方式不仅让人写出来的东西更加有条理,而且也能帮助人理清思路,让思维也更有条理。

用了 WorkFlowy 之后,我简直疑惑以前怎么能忍受没有层级结构的文档编辑器那么久。

对以上这些话不能理解的,去试用一下 Workflowy 就会明白,它真的很好用!

接触 WorkFlowy 之后,我总结了一下,其实,我早就想要一种具有以下功能的编辑软件了:

  1. 能建立具有层次关系的列表。
  2. 列表的各个节点可以折叠、展开。
  3. 能插入图片。
  4. 方便的鼠标操作,比如拖曳改变顺序。
  5. 方便的快捷键操作,比如设定级别。
  6. 列表很大、内容很多的时候仍然保持高性能。
  7. 搜索。

附:对上述需求的解释:

层级结构与折叠 :

层级结构与折叠,对于撰写短文章来说可能差别不大,对于长文章来说却非常重要,而且文章越长就越重要。

文章越长,结构就越重要,但是文章长了,就无法一眼看到文章全貌,难以对文章有一个全局把握。这可以说是一对矛盾。

这种情况下,如果把文章某些细节部分折叠起来,只显示出各部分的要点,那么就更容易把握文章全局。

如果我要专注于某一部分,那么展开这一部分就可以。

如果文章足够长,那么就需要多级别的折叠。每一部分都由若干个小节组成,我可以把各个小节的内容折叠起来,对这一部分的所有小节进行概览,也可以对展开某个具体小节查看详情。

这样一级级地展开、折叠,既能对文章全局把握,也可以随时切入某个细节部分。

我认为同一时刻需要关注的内容,控制在一屏左右比较合适。如果超过一屏,就应该折叠某些部分了。这样可以专注在当前的内容上,也不用拖来拖去上下来回寻找自己需要的部分。

插入图片也是我很看重的功能。

我认为这也是必需的。并且,图片必须能跟文本一起查看,也就是图文混排。如果还得去别的地方(比如切换到资源管理器里)单独一张张点开图片,那就没意义了。

其他需求基本无需解释。

操作方便、性能好、能搜索,这都是不言自明的。

对照 WorkFlowy 可知,这个需求列表基本就是照着 WorkFlowy 的特性写的:

Workflowy 在层级结构的展现和操作上,已经非常完美。

但是 WorkFlowy(对我来说)的致命缺憾是不能插入图片。

此外,因为它毕竟是网络应用,网络不好时没法用,在浏览器里打开大文件时的性能也令人担忧(Chrome 实在是太吃资源了)。

所以,我开始寻找“一个能贴图的 Workflowy”,最好还是个本地软件。

类似 Workflowy 的应用,可以大概分为两类:

todo 类:

Workflowy 本身的功能并不局限于做 todo 清单,但因为它的列表功能实在太好用了,很多人用它来做 todo/GTD/记事/任务提醒/工作安排,所以,说到类似 Workflowy 的工具,人们常常会提到各种 todo 类应用。

此类 todo 工具不能满足我的需求:

  • 大量的任务管理功能我用不上,反而形成干扰。
  • 即使无视那些任务管理功能,只看列表功能,也不适合。他们的列表功能往往较弱,一个条目也就简单记一下几点钟开会这样的内容,不适合长篇大论地记东西。

outliner 类:

outline 是“大纲”的意思,outliner 就是大纲工具。因为 Workflowy 出色的列表功能,人们也常常把它用作大纲工具。其实,我前面总结的需求和期盼就可以归为大纲功能。理论上,这种大纲工具应该是最贴合我需求的软件类型。然而事实却让我的期待落了空。

先找了几个 outliner 类网络应用:

比如 www.theoutlinerofgiants.com、thinklinkr.com。也许是因为这些网站都建立得比较早,界面看起来就充满古老的气息,操作也时刻提醒我,这些网站设计的时候“用户体验”这个词可能还没发明。果断放弃。

再看 outliner 类桌面软件:

outliner 类桌面软件非常多。在寻找过程中我还发现了一个 www.outlinersoftware.com,那是一个论坛,上面的人天天讨论哪种 outliner 工具好,较受欢迎的就至少有十几种……(个人认为,这种群雄混战、没有绝对领先者的局面,正说明还没有出现真正好用的工具。)

试用了几种 outliner 软件,又看了其他若干种的界面截图,基本上比较有名的 outliner 软件都看了看,感到没有一个能满足我的需求。

  • 它们一个突出特点是喜欢分栏 。
    • 一般至少会分两栏,分四五栏甚至更多栏的也有。分两栏的,一般一栏是标题列表,点一下标题,就在另一栏显示该标题下面的具体内容。所谓的“大纲”,体现在标题列表那一栏的树状排列,即一个大标题可以下含若干个小标题,每个小标题又可下含若干个更小的子标题。
    • 我觉得,这种分栏的做法,完全没有体现我在需求部分所说的层级结构与折叠的优势。这里的大纲和正文是割裂开的,得分别维护这两个东西,有时候比不用大纲还麻烦。
    • 本来写了些具体例子,后来想想,还是不展开了,每个软件的具体情况都不一样,有的这里差一点,有的那里差一点,但总之都有些(对我来说)致命缺陷。
      • 大纲里的标题和正文内容有可能并不一致。有的软件,大纲部分还不会自动刷新,还得手动刷新……
      • 更改层次结构很麻烦。比如某一节很长,我想把它分成几个小节,我还得先在标题列表那一栏新建几个节点,然后从正文那一栏一段段分别剪切复制到相应的节点。
    • 这种所谓大纲,和 Evernote 之类的笔记软件又有什么本质区别?都是一边是树状目录,一边是正文。甚至电脑的文件系统本身可以说也是这种模式,树状目录,点开看正文。既然如此,干嘛还要去用这种软件呢?
  • 也有不分栏的 outliner,数量相对较少,也是各有各的缺点。
    • 有的不能贴图片。
    • 能贴图片的,又是把图片当附件,不能图文混排。
    • 找到一个 OmniOutliner 看起来非常不错,出自著名的 Omin 系列旗下,可惜是 Mac OS 专享。我认真考虑了一下,折腾黑苹果很长时间了,一直没有完美成功。用虚拟机又太卡。难道专门再买个电脑用它?呃,还是先继续找找别的软件吧……

文本编辑器:

在寻找 outliner 软件的过程中,看到别人讨论,忽然意识到,好一点的文本编辑器(程序员用的那种,UltraEdit、EmEditor 之类)不是全都有“代码折叠”功能吗?稍加改造,就是我需要的文本折叠呀。

那么,我需要做的,就是能显示图片的文本编辑器了。找了一圈,嗯,只找到了 Emacs……

Emacs 还专门有一个 Org mode,“org”乃是“organize”的简写,“组织”之义,就是专门擅长于结构层次组织的。这简直就是为了我的需求量身定做的呀。网上关于这个 Org mode 的赞誉无数。

可是,我还是有点迟疑。Emacs 与 vi 并称文本编辑器界的两大神器,说实话我是有点敬而远之,不敢亵玩的。因为搞网站开发,vi 我还用过一点点。Emacs 可真是一点都没碰过,光听名字就吓得半死了。我还特地搜了搜 vi 能不能显示图片,没有搜到办法。

于是,我没敢立即决定采用 Emacs,想,还是先找找别的解决方案吧。

富文本编辑器:

富文本编辑器贴图片显然没问题,但是折叠功能又成了老大难。

此种软件以 Word 之类的字处理软件为首。别看 Word 有“目录”,有“文档结构图”,有“大纲视图”,看名字都像是帮你掌控文章全局结构的,可是(对我来说)一个都不好用。

目录和文档结构图的缺点跟分栏的 outliner 差不多。

大纲视图理论上应该是很贴近我的需求的,但是实际上使用中从未让我感觉过愉快。

冷静想想,就我的需求而言,Word 的优缺点如下:

Word 的优点:

  • 其他操作熟悉。
  • 贴图方便(Org mode 可以显示图片,但需要设置一下,肯定没有 Word 方便)。

Word 的缺点:

  • Word 文档太长就没法用了,需要根据情况新建多个文档。管理大量 Word 文档实在太头疼了。Org 是纯文本,我用 Org 是打算把所有东西都记在一个文档里的,纯本文写得再长又能有多大?
  • 不方便用版本控制(据说也是可以做的,但肯定没有纯文本那么方便)。
    • 注:Word 2003 有个“保存版本”功能,可以把多个版本保存在同一个文件中,但从 2007 开始,这个功能居然被取消了。
  • 级别有限制,最多只有九级标题加一级正文。
    • 从论坛上看到 Word 这个九级限制的一个恶心之处:假如你用完了九级,然后你把它们都折叠,放到另外一个标题下面,再展开,因为 Word 一共只能有九级,原来一共九级的现在就得压成八级,怎么压呢?原来的八级、九级都变成同一级别!破坏了原来的层级结构!它至少应该问问你,说达到级别上限了,要么把结构压平,要么就不放到其他标题下面,你想要哪种?不该不问一下就破坏结构的。
  • 容易崩溃、文档损坏无法打开等。
  • 体积大,占资源 。
  • 各种小毛病,各种自作聪明,编号老是对不齐什么的。严格说不能算缺点,Emacs 也有各种小毛病,各种需要去折腾解决的地方……
  • 不是免费的。不算缺点,可以用免费的 WPS。WPS 的大纲功能比 Word 难看一点,但功能差不多。

虽然我列出的 Word 优点只有两个,缺点大一堆,但实际上“操作熟悉”“贴图方便”这两个优点对我吸引力相当大,几乎要盖过了那么多缺点。不过,试用 Org 一段时间之后,经过深思熟虑,最后还是决定用 Org,因为试用 Org 给我的感觉实在太好了,在 Org 里码字有在 Word 里从未有过的舒服感觉……

总结所有方案:

看完了所有选择,再对照一下我的需求,发现 Org mode 是最符合要求的:

  • 多级列表,节点可以展开、折叠——正是 Org mode 的特点。
  • 快捷键——这种神级编辑器就是以全键盘操作闻名的,快捷键显然不可能有问题。
  • Emacs 这样久负盛名的编辑器,处理大文档、搜索什么的也应该不会有问题吧。
  • 贴图,稍微折腾一下就可以。

亲爱的读者,这么长的文章,你能坚持读到这里,估计很可能跟我有类似需求,并且也是个喜欢折腾的人吧。不过,即使你不喜欢折腾,你也不会空手而回。

  • 如果没有贴图的需求,用 WorkFlowy 就非常完美,强烈推荐!
  • 如果需要贴图,并且看到折腾二字就望而生畏,那么就用 Word 的大纲视图吧。
  • Mac 用户可以试试 OmniOutliner,我没用过,但是用过的都说好。

那么,到底什么是 Org mode?

Org mode 是老牌神级编辑器 Emacs 的一个模式。

看完这句话,你可能还是不明白 Org mode 是什么。没关系,其实我也不明白。然而,我并不需要弄明白。我只关注 Org mode 能满足我需求的部分,其他部分我不管。

Emacs 和 Org mode 的功能极其强大,号称“无所不能”,而我所需要的、我所用到的,可能只是其功能的冰山一角。

甚至,下面我将要谈到的功能,我并不清楚到底是 Emacs 的功能,还是 Org mode 的特性,还是软件打包者的自定义设置,反正我打开就是这样,能满足我的需求,这就够了。

至于我的需求是什么,前面已经说了很多了……如果你的需求跟我相近,那非常好,Org mode 可能非常适合你。如果你的需求跟我不一样,但出于各种原因仍然想学习 Org mode,那么也可以继续往下看。:)