一篇还不成熟的文章。

一、引言

工作以来,如何高效地整理自己的信息这个问题一直困扰着我。经常会遇到这种情况, 自己需要记录一个信息,但依稀记得自己记录过类似的信息,却又半天找不到。举个例子,我发现一个学习C++不错的网站,于是在"C++"分类下面记录了这个条目, 但是,不久之后发现之前在一个"资源收集"的分类下面也记录过。也就是说,这个学习C++的网站条目, 既可以认为是C++这个大类下面的一个子类(学习资源),也可以认为是资源这个大类下面的一个子类(C++方面的学习资源)。知道最近,我才意思到这种树状的分类法是无法满足我的需要的,在后文“信息的拓扑结构”小节将会深入分析

在思维导图(Mind Map)中,这个问题也颇为明显,思维导图有一个中心起始节点, 鼓励使用者充分发散思维。但是,每个分支其实也是有可能存在联系的(比如因果关系), 所以,一些脑体就提供了一个所谓“联系”的功能,可以连接两个节点。“联系”可以处理一些简单的关系, 但是,如果信息足够庞大、彼此关系足够负责,这个功能也无法满足,因为脑图的中心是绝对的。

实际上,市场早就发现了这个问题,The Brain就是这样一个软件,如其名字所昭示的:这个软件在以一种类似人脑的方式组织信息。

顺着这条线索,我也市面上相关的笔记软件都做了一遍了解,也系统地梳理了自己对于工具、笔记软件工具、 我的笔记软件工具这几个问题的思考。

以上是本文的背景。

二、关于工具的几点思考

2.1 为什么需要工具

假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假於物也。

《荀子·劝学》

我对于工具的理解非常简单:分担人的工作。农耕时代的各种工具很好地分担了人的体力工作, 而信息时代的各种工具则更注重于分担人的脑力工作。

比如日程管理和各种 TODO App,就很好地解放了大脑。计算机最初被发明出来也是为了完成人脑 所不能处理的庞大运算量,恰如农耕时代的牛耕。

虽然我们制造并使用工具的动机很简单,但是代替体力的工具和代替脑力的工具却存在着巨大的差异。比如说车轮,应该不会有人用六边形的轮子,因为客观的实践已经证明了原型是最好的解决方案。但是,到了脑力工具领域,这种客观性大大减弱,而主观意识大大增强。这也是为什么同样一个工具, 市面上会存在几十、甚至几百种对应软件的原因(当然也存在一些经济因素在其中)。

2.2 人用工具,而非工具用人

首先需要明确的一点是:使用工具的原始动机是提高自己的效率。如果过于追求工具的能力, 甚至为了使用工具的某些工具而主动去创造使用场景,这就是本末倒置了。事实上, 没有哪个工具和个体的人是完全匹配了,没有必要比理解、并熟练掌握工具的每一个功能。

2.3 好的工具可以适当地启发人

辩证地看,也不能完全排斥工具的一些“附加功能”,很多时候,工具的创造者其实是比使用者更了解这个领域的, 所以好的工具很多时候可以可以启发使用者,原来还可以这么做!

2.4 没有最好的工具,只有最合适的工具

由于每个的知识背景不同,对于解决同一个问题的认知和接受能力也不不一样的。比如普通的职场白领,对于计算机的使用完全停留在应用层面,他们的只能接受Word这样的富文本编辑;与之对应的,程序员则更喜欢用Markdown之类的标记语言来管理文档。而Typora则试图用一种Word 用户能接受的方式引入Markdown到普通电脑用户当中。

后文在讨论笔记软件的时候,也会讨论到类似的情况。

2.5 实用大于精致,合适大于逼格

继续上一个问题,在选择合适的工具这个问题上,有两个误区是要极力避免的。一是不要过于追求精致,我观察到很多宣传notion的人会过于强调这款软件的精致, 我认为这样会破坏一些小白对于这个工具客观的认知。虽然美观很重要,但永远不应该是核心问题。二是不要为了逼格而使用一个你不能驾驭的软件,我相信真有人以至于是方向键在Vim里面控制光标。还是,那句话:合适自己的才是最好的。所谓合适,大概需要考虑以下几个问题:

  • 自己的学习能力和投入预期(时间成本),比如Vim、Emacs这种软件,即使是专业程序员也要经过长久的学习实践才能掌握

  • 自己的使用习惯,比如有的人(其实应该是大部分人)更习惯使用鼠标(如果你的Chrom扩展列表里有crxMouse之类的扩展), 有的人则更习惯使用键盘(如果你的Chrom扩展列表里有Vimium之类的扩展)完成一切操作。

  • 自己在对于目标工具的特定述求:付费、免费?在线、本地?美观?

2.6 商业还是开源

商业软件最大的好处的易用性,因为它只有足够易用才能被用户接受。但是,商业软件的局限性也很明显:

  • 存在风险:公司可能倒闭、产品可能停止维护、收费可能提高到你无法接受的水平,等等

  • 缺乏灵活性:因为商业软件做的事所有用户共同诉求的那个交集,并且尽可能降低使用门槛

有些方面,对于普通用户来说可能是商业软件的优势,但对于程序员来说,毫无优势:

  • 更好的服务:普通用户只能通过客服解决问题,但是程序员可以通过社区、Issue等很多方式获得帮助, 而且这种帮助可能质量更高:客服往往解决不了负责的问题,但是网络上却大神云集(如果他们愿意)

  • 更健壮的质量:我认为这是一种误解,实际上成熟的开源软件往往质量都非常高。

最会,开源软件还有一个巨大的优势就是你可以从用户变成开发者,从而深度改进自己的工具(当然了,这需要非常高的门槛)。

以上,就是我对于工具的基础认识。

笔记软件其实是一个信息整理的工具,所以,在讨论完工具后,有必要再谈一下信息管理。

三、对于信息整理的理解

3.1 信息的拓扑结构

初级的信息是孤立的节点,这种节点很容易被遗忘。

正常人肯定不会让信息分散在各处,所以大部分人会把信息分门别类地归纳好。但是, 前面提到过,信息的分类不是绝对的,只要把范围扩到足够大, 就很难找到一个满足“彼此独立,互相穷尽”的分类标准。而且,信息直接还存在着额外的关联。

此外,我们的大脑也不是如此工作的,我们的大脑依靠突触连接产生记忆,是一种 网状结构,这也是类似Roam Research、Obsidian之类的软件产生的原因。

3.2 信息与知识

需要注意的是,对于个体的人来说,信息的价值其实是有限的,因为你能获取到的大部分信息 其实都是公开的,只有把信息转化成了知识,才是有价值的的。

有些笔记软件会让人往一个错误的方向走:收集信息,却不升华成知识。比如, OneNote可以自动备份公众号文章、印象笔记可以备份网页。我不是说这些功能没有价值, 知识要注意所谓的信息陷阱。我曾经用OneNode收集了不少我觉得牛逼轰轰的文章,但之后 一遍也没有看过,事实上,这样的文章每天都在产生,收集他们并不会让我变得更强。

四、对于笔记软件的理解

讲完了工具和信息整理,终于可以讨论信息整理的工具:笔记软件了。

4.1 多设备协同 & 本地还是云端

一般来说,普通用户更喜欢云端协同编辑,这是使用门槛最低的方式,但是个人认为存在以下风险:

  • 云端的东西安全性、迁移性无法保障(有些流氓软件就是希望锁死你)

  • 如果我希望自己写一些脚本(比如统计字数、词频)放在云端是无法做到的

  • 如果没有网络,我就不能编辑

当然了,放在本地也会有一些问题:

  • 比如我在家里和公司各有一台电脑,我就得每天记得同步,否者无法衔接

手动做这个事情实在太痛苦了。

那么如何保持同步呢?我用过或者能想到的办法:

  1. 使用“微云同步助手”之类的工具(定制性差,比如我不想备份 .git 目录)

  2. 使用U盘(安全性差、而且需要定期做备份)

  3. 放在服务器,可以在任意设备编辑(粘贴图片、预览之类的操作会麻烦一些,需要折腾)

  4. 自己基于 rsync 写一个实时同步工具(看起来也不难,够用就行)

  5. 写一个脚本,每天定时同步(Git Push),也会有问题(万一哪天下班早,回家还得等同步?)

总的来说,我更看好思路4,应该有很多开源的实现了。

还有一个问题是多设备协同,大部分商用笔记软件其实会支持移动设备,我个人其实不是很执着于此, 因为移动设备的屏幕大小注定了无法提供PC等同的编辑体验。所以:如果需要编辑笔记,就做到电脑面前去。

4.2 版本管理

普通用户或许没有各个概念,但是对于程序员来说,最好是对笔记做版本管理, 可以大大降低笔记丢失的概率。

4.3 纯文本还是富文本

如果使用了版本管理,那么做好用纯文本,因为版本管理工具无法很好地管理二进制形式的富文本。此外,大部分工具也对纯文本有更好的兼容性。

4.4 二进制资源

笔记不可能只有问题,对于图片、视频类的资源,我认为应该和笔记部分隔离开, 通过相对路径或者超链接的形式引用。

五、已知笔记软件的比较

以下,是我基于自身诉求对各种笔记软件的比较,每个人的出发点、认知不一样,仅作参考。

5.1 印象笔记、有道笔记、谷歌文档

这类笔记我基本放弃了,原因:

  • 商业收费

  • 编辑器太弱(重度Vim用户)

  • 在线存储,没安全感

5.2 The Brain / Notion

The Brain理由同上,而且不是一般的贵。而且感觉因为太贵,导致用户不多,没有社区可言。

Notion的在线、非Vim、商业收费都是我无法接受的。

5.3 Obsidian / Roam Research

正式对Obsidian的了解,使我发现了原来网状结构已经被这么多软件实现了。但是,我还是放弃了这两款软件。Obsidian的对于我来说,不能用Vim是无法接受的。Roam Research没有深入研究,因为我发现一个它的开源替代品(Org-roam)就是我想要的。

也是从这里开始,我知道树状分类的局限性:

  • 从卡片链接到大脑联想,基于 Obsidian 的卡片盒笔记法实践

  • 真正的思考技术:来自德国社会学 Niklas Luhmann 的 Zettelkasten 方法

5.4 TiddlyWiki

结合TiddlyMap + ReLink,我一度已经计划用TiddlyWiki作为自己的笔记软件了。只是恰好发现了Obsidian即Org-roam,才重新做了选择。TiddlyMap正式让我眼前一亮, Tidder的概念也和卡片式笔记不谋而合。此外,我已经基于服务器实现了多设备同步(源文件放在服务器,然后启动一个Local Server, 然后通过ssh转发端口到本地,就可以直接编辑了)。只是,TiddlyWiki的编辑器实在过于简陋,无法满足长时间的编辑,最终还是放弃了。

5.5 Logseq

  • https://github.com/logseq/logseq

按照官网解释,这个软件受了Roam Research, Org Mode, Tiddlywiki and Workflowy 的启发,Star数相当不错,而且是一个非常年轻的软件。

但我盲猜应该不支持Vim风格的编辑。

主要是,我已经看到了Org-mode的强大和生态,让我相信不需要去找Another Org-mode。

5.6 Org-roam

  • https://github.com/org-roam/org-roam

我是通过 Org-Brain(The Brain)的开源实现发现Org-roam, Org-Brain的最大问题是可视化做的不好,而Org-roam-ui则一下吸引了我。Org-brain的作者也是使用过TiddlyWiki之后放弃了:org-brain

经过一晚上的学习之后,我已经能使用了,完全解决了我之前的一些痛点,这就是我要找的工具了。读完Org-roam的使用手册之后,基本既可以使用了。其实,只要有诉求,就非常容易理解这些功能的作用了。此外,像org-roam-bibtex这样的功能,基本确定是我不需要的,直接不关注即可。

一些教程和讨论:

  • YouTube上有一个推荐教程

  • Org-roam(v2) 以及 org-roam-ui 的使用姿势

由于我用的是 Spacemacs,它内置的Org-roam还没有升级到V2,结合作者的介绍(Releasing Org-roam v2)来看, 还是升级到V2再使用比较好,没必要学习一个行将淘汰的V1,于是折腾了一番:主要讨论在这个帖子:V2 and spacemacs ,一开始用gnohz的方法(就是模仿Spacemac的配置, 见https://github.com/syl20bnr/spacemacs/blob/548edefcce52cf626927c7806c01796cf66b0410/layers/%2Bemacs/org/packages.el#L923),自定义Layer, 结果问题比较多,回来Gp741提供了一个方法,只需要修改 .spacemacs 即可, 于是采用了第二个方案。

六、研究结论

还有一些没讨论到的,比如 Foam,我也无需再研究了。回到开头的论断:合适就好,关键是要 确认是否真的合适。我的选择不不具有普适性的,毕竟大部分人没有Emacs、Vim的使用经验, 但是对于我来说,这是习以为常的,而且对于一个将使用十几年的笔记软件来说,强大与易用比学习门槛重要多了。

说来惭愧,我在找到TiddlyMap之前,还以为没有类似的软件,一度以为可以自己实现一个, 没想到拔出萝卜带出泥,这个领域早已经被各路大神和创业者玩烂了,只能说:

工具终究是工具,关键还是要有人的思考。

关于笔记软件的比较研究相关推荐

  1. os系统好用的学术笔记软件_可靠软件系统的设计方法:学术文章摘要

    os系统好用的学术笔记软件 by Shubheksha 通过Shubheksha 可靠软件系统的设计方法:学术文章摘要 (A Design Methodology For Reliable Softw ...

  2. 【工具】笔记软件测评(简单)

    介绍 笔记软件测评 印象笔记 ── ❌开源.❌markdown(不好用).❌本地存储 臭名昭著,被资本搞烂的理想. notion ── ❌开源.❌本地存储.✔️数据导出:PDF.HTML.Markdo ...

  3. linux上记笔记软件,linux下安装一款笔记软件(为知笔记)

    今天突然想在ubuntu上安装一款跨平台(windows.linux.android)的笔记软件来做日常记录.文章记录以及网页收藏.原先并没有使用过类似的软件,只是见身边的很多人在使用印象笔记来做记录 ...

  4. linux下写笔记软件,linux下安装一款笔记软件(为知笔记)

    今天突然想在ubuntu上安装一款跨平台(windows.linux.android)的笔记软件来做日常记录.文章记录以及网页收藏.原先并没有使用过类似的软件,只是见身边的很多人在使用印象笔记来做记录 ...

  5. 寻找最好的笔记软件:三强篇(EverNote、Mybase、Surfulater)

    寻找最好的笔记软件:三强篇(EverNote.Mybase.Surfulater) (v1.0) 寻找最好的笔记软件:三强篇(EverNote.Mybase.Surfulater) v1.0 作者:S ...

  6. GoodNotes 5 for Mac(手写笔记软件)

    GoodNotes mac版是Macos上一款手写笔记软件,您可以在 Mac 上创建.导入和编辑文稿,支持导入 PDF 和图像,以在 GoodNotes 中添加注释,通过拖放操作将文稿从 Mac添加到 ...

  7. 适合大学生好用的笔记软件是哪款?

    在大学里,我每天都要面对海量的知识点和笔记.有时候,我在上课的时候听得一头雾水,如果没有好的笔记软件记录下来,就会忘记重要的内容.所以,一个好的笔记软件是大学生必不可少的工具. 我曾经就经历过笔记软件 ...

  8. Evernote中国版、优秀的笔记软件

    Evernote(中文名称:印象笔记)是一个免费且优秀的笔记软件或个人知识管理软件,可以帮助你有效的管理各类电子笔记.资料等:xbeta 写过很多信息管理或 Evernote 方面的文章,认为 Eve ...

  9. Bullmind在线读书笔记软件

    Bullmind是一种结构化思维生产力工具 录制注释 思考完成 内容创建 任务管理以结构化方式组织内容构建清晰的思维逻辑 它具有在线读书笔记软件 在线思维导图功能,强调逻辑和层次与传统笔记形式相比. ...

最新文章

  1. LeetCode简单题之有效的字母异位词
  2. python调用数据库数据类型_ajax 读取python的数据库数据类型
  3. Consul + Nginx实现自动扩容平台
  4. 四则运算表达式求值(栈的应用)
  5. 葫芦岛市一高中2021年高考成绩查询表,2021年葫芦岛高考状元多少分是谁,葫芦岛高考状元名单资料...
  6. 项目管理:软件工程相关知识笔记
  7. 我看中国软件---管理篇
  8. 6、Learn by doing才是正确的技术学习姿势
  9. Leetcode每日一题:面试题16.19.水域大小
  10. IOS 项目的瘦身工具
  11. [转载] C++ STL之 vector的capacity和size属性区别
  12. Kmalloc和Vmalloc的区别
  13. 成功解决error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“
  14. 派森诺细菌完成图+转录组+蛋白组+实验端验证高分文章
  15. [FROM WOJ]#4479 长跑
  16. CATIA二次开发-装配技术
  17. 瀑布流插件vue-masonry(使用和踩坑心得)适合Vue脚手架开发(适用于Vue2)
  18. 利用python创建自定义的股票指数
  19. python宣传视频 抖音_Python生成抖音字符视频,技术流!
  20. matlab两个图共用一个x轴_Matlab绘制多x轴和多y轴图(双x双y轴/单x双y轴/双x单y轴图等),及坐标轴参数汇总...

热门文章

  1. jQuery Easing 使用方法及其图解
  2. RFID复习笔记(3)——RFID天线技术
  3. BUUCTF Crypto 浪里淘沙 wp
  4. Excel怎么为单元格数据批量添加相同文本
  5. C语言整型,浮点型数据储存的超详细讲解
  6. 功能测试之等价类划分法及案例
  7. 《J2SE 回炉再造06》-------溺水狗
  8. 【小卒ubuntu使用第六篇】ubuntu下如何搭建远程控制服务(包括命令行方式的ssh局域网搭建、和图形化界面的teamviewer和anydesk工具的安装使用)
  9. Python手工实现朴素贝叶斯分类及预测
  10. 哪些工具可以实现在线ps的需求