我一直在寻找一款工作上适合程序员使用的笔记软件。工作的时候,经常需要记录一些代码片段和笔记。这类笔记大部分都不成体系,记录的都是一些工作上的要点和代码片段。有的时候只是临时保存一小段代码。
细细想来,对于笔记软件,我有主要有这样一些需求: 1. 支持代码块的语法高亮,可以定制字体、配色; 2. 以 Markdown 进行编辑; 3. 支持全文搜索; 4. 支持数据备份,笔记导出; 5. 可以使用文件夹或者标签 (Tag)进行分类管理; 6. 多设备之间云同步,最好不需要注册账号,直接使用 iCloud、Dropbox 来同步; 7. 小巧、快速; 8. 虽然我现在几乎没有激动办公的场景,但如果能够在 iOS 设备上使用也是个加分项。
虽然现在市面上有各式各样的笔记软件,但还是有一些让我不太满意的地方。
我用 Evernote 很长一段时间了。我很喜欢使用 Evernote 剪切网上的文章做整理归纳,但是糟糕的编辑体验(不支持 Markdown),免费账号两个设备同步的数量限制,让我觉得 Evernote 当工作的笔记软件有很多问题。
后来使用了一段时间的 Bear。这是一款不错的笔记软件,满足了我大部分的需求,但是不支持代码块语法高亮让我觉得这不是一款面向程序员的软件。毕竟我有相当一部分的笔记是代码片段 (code snippets)。
后来,有一天在网上看到了一款叫 Boostnote 的开源软件。这是一款基于 Electron 开发的,面向程序员的笔记软件。可能是程序员群体都有类似的需求,这款软件几乎满足了我的全部需求。遗憾的是 Boostnote 的体积非常臃肿(Mac 客户端已经有一百多兆),搜索的速度较慢。而且 UX 方面的使用体验也不太令人满意。在试用了大概一周后,我放弃了 Boostnote。
直到最近,我在 App Store 的 Apps for Developers 的板块里发现了 Quiver 和 SnippetsLab 这两个软件,终于找到了满意的笔记软件。这两个软件都是面向程序员的笔记本软件。Quiver 号称 _The Programmer’s Notebook_,SnippetsLab 号称 _The missing code snippets manager_。 无论是外观界面,还是一些细节的处理上,两款软件都算得上精品。看一下 SnippetsLab 的文档,就能体会到软件开发者的用心。
相比之下,Quiver 的功能更全面一些,包括有 iOS 版的客户端, 支持 LaTeX 格式的公式和流程图渲染,支持版本管理及演示模式。Quiver 引入了 Cell 的概念,编辑起来不是特别顺畅;而 SnippetsLab 的编辑和搜索功能使相对简洁一些,用起来也更加便捷。在选择到底购买哪个软件上,我还是犹豫了很久。两款软件都满足了我的需求,核心功能上也没有太大的区别,甚至连价格都是相同的 ¥68。在综合了官网的介绍和一些网上的评测文章(我在网上并没有找到两款软件的比较文章),并且试用了 Quiver 之后,最后还是考虑了价格的因素。趁着 SnippetsLab 在年底促销的时机,花了 30 块钱买了 SnippetsLab。
在购买了 SnippetsLab 之后不久,我在 Hacker News 上看到了 MedleyText 的介绍。 这是一款跨平台的,面向程序员的笔记软件。不过暂时还没有使用,看以后有机会的时候再体验一下。