Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >你应该如何选择笔记软件?

你应该如何选择笔记软件?

作者头像
梦醒人间
发布于 2022-03-29 06:07:18
发布于 2022-03-29 06:07:18
7330
举报
文章被收录于专栏:码农桃花源码农桃花源

市面上有非常多的笔记软件,让人眼花缭乱。如何选择适合自己的呢?我从下面几点谈谈我的理解。

这个视频[1]里展示了一张非常全的笔记软件全家福,里面的软件我多多少少都用过或听说过。

搜索引擎能替代笔记软件吗?

当我们记得笔记越来越多的时候,找内容就只能靠搜索了。于是有人就想,我不记笔记了,直接用搜索引擎多好啊。

仔细想想如果我们什么笔记都不记,一切都依赖搜索引擎,可行吗?毕竟所有的知识都可以在搜索引擎上找到。

且不说移动互联网时代,各家 App 的内容都沉淀到了自己的数据库里,不管什么搜索引擎都统统靠边。很多东西在搜索引擎上找不到回答,至少是找不到好的回答。

就算搜出了好的回答,你还是得重新甄别一下内容,远不如自己当初记一遍笔记,现在直接拿过来用更扎实。

另外,做笔记也是一个整理思路的过程,这个是搜索引擎给不了的东西。

记笔记是为了更好地决策

笔记软件不是阅读软件。印象笔记的剪藏如此好用,以至于这些年我们收藏了一堆文章,硬生生地把笔记软件用成了阅读软件。

少楠曾说:读书的目的并不是为了炫耀你在豆瓣上标记了多少,也不是记下一个非常漂亮的脑图,更不是为了记住书中所有知识点。而是为了更好地思考、更好地决策。所以对着目录画一个脑图并没有什么意思,有意思的是将书里的内容大卸八块,吸收进自己的体系里。重要的不是记录,而是更好地思考。

费曼也曾说过:「Notes aren’t a record of my thinking process. They are my thinking process.」

赵赛坡在《现代数字笔记指南》里说:笔记更像是一种聚拢思维,简言之,就是用户为了追求对事物的深刻理解,而不断聚焦再聚焦的思维模式。

无压力输入

传统软件采用的是树状的结构,每条笔记只属于一个节点。这也使得我们在新记录笔记的时候得小心思考应该把这则笔记放在哪个地方,然后再一层层地找到相应的地方,最后写下了可能是一句话的笔记。

我们随时都会有很多灵感、想法,如果不记下来,可能很快就忘了。在传统笔记软件里做这件事,并不容易:你得先找到记录的地方,再来写。很可能折腾一番后就失去了写笔记的动力。因为传统笔记软件基本是用文件夹层层分类,找到一条笔记的归属,不是简单的事情。这一点 flomo 就做得非常好,随时、多设备上无压输入,它通过标签来管理层级,没有文件夹。

而像 Roam Research 这些有 daily notes 的软件,记录灵感也很容易。每天都是一个新的以当天日期命名的页面,直接在这里输入,不管之前做的怎么样,今天的笔记都是一片空白,重头开始。而像 notion,仪式感非常强,你得从设定好的分类进去,层层打开、找到对应的页面,这时我们灵光一现想到的那些只言片语,可能也不好意思写下来了。

双链的好处

如果我们在笔记 A 里提到了笔记 B,就可以将 B 的超链接放到 A 笔记里,从 A 可以直接跳转到 B。但是当我们在看笔记 B 的时候,无法知道有哪些笔记链接到了它。

双链笔记则不同,从 A 能知道 B,看到 B 的时候,也能知道 A 提到了它,也就是链接到了它。当然,我们可以手动地在 A、B 这两篇笔记里都加上对方的链接来达到类似的效果。但是,就像在编程语言里,它不是一等公民,虽然形似,最终的效果却差之千里。

举个例子,我在整理 devonthink 这款软件使用方法的过程中,提到了王树义老师的视频:

那么我在王树义老师这个笔记页面里同样可以看到 devonthink 相关的这一条笔记。

大纲和 block

和思维导图类似,大纲这种形式是一种自上而下的记笔记方法。大纲可以清晰地展现思路,上钻、下钻、聚焦、拖拽,非常灵活。相反,把所有笔记拍平,一锅烩,复习起来很费劲。

Block 是一条原子化的笔记,它只讲一个事情,方便进行组合、复用。

双链笔记软件中,Roam Research 和 Logseq 支持 block 级别的双链引用。其他的诸如 obsidian、幕布只支持文件级别,两者使用体验相差甚远。

Roam 里的每一条笔记都是一个 Block,这些 Block 可以自由组合,变化无穷。假设你在不同的场景下分别记录了几次笔记,对应在印象笔记里面,就是新建了好几个笔记。每个笔记内部,有很多内容。这在 Roam Research 里面体现出来的就是很多个 Block,或者叫 Bullet;对比在印象笔记里面,就是一个大的页面,所有的内容都混杂在里面,一团浆糊。

图片,视频用超链接引入

我们用的笔记软件都有自己特有的数据格式,笔记很难在不同的笔记软件中间自由迁徙。但如果我们用文本来做笔记,就不一样了。unix 里有很多处理文本的小工具,日常也有很多编辑器来处理文本。即使不用笔记软件,一样可以做各种处理。有些人只用一个文本文档,照样风生水起,将工作、生活管理得井井有条。

在云时代,我们可以将图片、视频上传到 aws, github 这些地方,然后得到一个链接,插入到笔记里。今后,我们可以方便地将这些链接进行移动,在不同的地方使用,而图片在云端里好好地保存着,不用我们操心。反之,如果记笔记的同时,还维护着我们的图片、视频,想要移动他们是很麻烦的。

在 mac 上,结合一款叫做 hook[2] 的软件,你可以将本地任何一个文件变成一个链接,放到笔记内容里。点击链接即可直达文件,即使你之后移动了文件的位置,依然可以准确定位到。这里有一篇王树义老师的文章讲了 hook 软件的一些其他高级用法。

另外,在 Roam Research 里,我们可以直接内嵌一条 youtube 视频链接,并在这条视频下做笔记,神奇的是笔记和视频时间戳绑定,直接点时间戳,马上定位到视频相应位置。

数据安全

大数据时代,我们的每一份数据都很珍贵,笔记数据更应受到重视。我们也经常看到一些网络服务停服,如果我们没有关注到消息并及时备份数据,那就损失惨重。例如,一些图床服务器的停服会导致很多页面里的图片“裂开”。

很多 Roam Research 的用户都是很会折腾的主,开发出了不少定时保存数据的脚本,通过 github action 可以定期地将数据进行备份。即使将来笔记软件跑路,至少我们还有一份保拷贝。这里有王树义老师的视频教程[3],还有立青的一个升级版本[4],它能将图片从 google 云下载到本地。

另外,有一些软件把数据放在本地,更安全,像 obsidian 就是本地数据。所以需要自己负责同步、备份,稍显麻烦。

除了数据安全,还有隐私层面的问题:笔记软件的维护者如果能看到你的笔记内容是不是很可怕?比如说,向 flomo 的服务号发送消息可以同步到 flomo,但是在服务号后台是能看到笔记内容的。所以少楠和他的伙伴约定:我们都保证不看。

目前,roam research 已经做到了端到端的加密,即使是官方的人也无法看到你的笔记内容。

笔记导入和导出

很多软件为了让用户来了就跑不了,故意不提供导出数据的功能。当我们在一款软件上积累地越久,也就越不想迁移到新的软件去。这也是很多人放不下印象笔记的原因。

不过,一键迁移看似酷炫、方便,一股脑地将旧笔记拷贝到新系统里并没有那么必要。也许用到了哪一条笔记,再手动地迁移到新软件上去,效果会更好。因为这相当于强迫复习了一次,加深印象。那些可能几年都不会再用到的笔记,一键迁移过来干什么呢?一条条地手动迁移意义更大。

所以,当我们看到更适合自己的笔记软件时,不要让导入问题成为阻碍选择新工具的原因。

费用

最近几年,很多服务开始收费了。相比于免费服务,付费服务也有自己的优势。服务提供者就是依靠会员费赚钱,他会专注做好服务,而不是憋着将来把用户当作流量卖给广告公司。当然有些吃相难看的笔记,即使交了钱,也依然不断地给你弹广告,这种就拉黑不用好了。

目前最贵的笔记软件应该就是 roam research 了,一年一百刀,就这还是五年一起交的价格。不过,算下来,一天不到 2 块钱,也还行。关键是要能提供相应的价值,相比于自己的成长,付费也是值得的。

当然了,免费的也有很多。例如 Logseq, obsidian,这两款软件都有很多开源爱好者在活跃,贡献了很多插件,极大丰富了生态,对于用户来说是很有利的。

别废话,到底用什么

我目前在用 roam research,私以为这是目前为止市面上最好用、功能最强大的笔记软件。

曹大在调研了一波笔记软件后,决定用 logseq + obsidian + icloud 这个组合,优点是开源、免费、数据保存在本地。顺便提一下,曹大之前还用过一段时间的 notion,最近因为“太卡了”转而寻求其他的工具。

举个我实际使用的例子。

不过,今年做的几次技术分享,这个软件的帮助很大。我会先确认好主题,接着在我之前的笔记里找相关的案例和资料。如果我之前做的笔记很详细,上下文都非常完备,我可以直接把它拖到新的主题里。神奇的是,这里的拖动就像编程里的指针一样,只是原来笔记的一个“引用”,一处修改,处处修改。而且,不光这次分享可以用,下次其他主题的分享,我还是可以拿过去当素材。

后记

都说差生文具多,笔记软件也不例外。很多人尝试了非常多的软件,最后发现记下的笔记数量可能还不如用过的笔记软件数量多。当我们在选择笔记软件的时候,一方面要选择适合自己的;另一方面也要回到问题的本质:记笔记是为了更好地思考。

References

[1] 视频: https://www.bilibili.com/video/BV1Ru41117Zu [2] hook: https://hookproductivity.com/ [3] 视频教程: https://www.bilibili.com/video/BV1Cf4y1r7zB [4] 升级版本: https://github.com/JimmyLv/roam2github-actions/blob/main/.github/workflows/main.yml

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农桃花源 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CompletableFuture:异步编程没那么难
我们在日常开发中经常用多线程优化性能,其实不过就是将串行操作变成并行操作。如果仔细观察,你还会发现在串行转换成并行的过程中,一定会涉及到异步化,例如下面的示例代码,现在是串行的,为了提升性能,我们得把它们并行化,那具体实施起来该怎么做呢?
码农架构
2020/10/26
7470
CompletableFuture:异步编程没那么难
并发编程系列-CompletableFuture
利用多线程来提升性能,实质上是将顺序执行的操作转化为并行执行。仔细观察后,你还会发现在顺序转并行的过程中,一定会牵扯到异步化。举个例子,现在下面这段示例代码是按顺序执行的,为了优化性能,我们需要将其改为并行执行。那具体的实施方法是什么呢?
架构狂人
2023/08/16
2040
并发编程系列-CompletableFuture
阅读 Flink 源码前必会的知识 - Java 8 异步编程 CompletableFuture 全解析
通常来说,程序都是顺序执行,同一时刻只会发生一件事情。如果一个函数依赖于另一个函数的结果,它只能等待那个函数结束才能继续执行,从用户角度来说,整个程序才算执行完毕。
kk大数据
2021/03/13
1.1K0
手把手教学妹CompletableFuture异步化,性能关系直接起飞!
由于 JDK1.5 Futrure 的 get 方法获取任务结果必须阻塞等待,Google 看不下去了,开发了 Guava 库
JavaEdge
2021/04/19
1.3K0
手把手教学妹CompletableFuture异步化,性能关系直接起飞!
CompletableFuture使用详解
在上一篇文章《CompletionService使用与源码分析》中,已经介绍过了Future的局限性,它没法直接对多个任务进行链式、组合等处理,需要借助并发工具类才能完成,实现逻辑比较复杂。
全栈程序员站长
2022/09/07
9440
CompletableFuture使用详解
Future和Callable学习
我们知道使用多线程时,最初的Thread到线程池,此时对于线程的使用,提供了其使用的复用率。而实现多线程的三种方式:继承Thread;实现Runnable接口,重写run方法;实现Callable接口,同时重写call方法,同时通过Future获取执行的返回值。也就是说callable执行任务,而Future拿到执行的结果。Future具有阻塞性在于其get()方法具有阻塞性,而isDone()是不具有阻塞性的。
路行的亚洲
2020/07/16
5050
聊聊异步编程的 7 种实现方式
当用户创建一笔电商交易订单时,要经历的业务逻辑流程还是很长的,每一步都要耗费一定的时间,那么整体的RT就会比较长。
微观技术
2022/09/28
6260
聊聊异步编程的 7 种实现方式
CompletableFuture 异步多线程,那叫一个优雅
虽然 Future 以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便,我们必须使用Future.get()的方式阻塞调用线程,或者使用轮询方式判断 Future.isDone 任务是否结束,再获取结果。
程序员大彬
2023/03/01
1.7K0
CompletableFuture 异步多线程,那叫一个优雅
大厂常用工具类Completablefuture的面试题都有哪些?这次我都替你收集好了。
最近在复习自己的简历,发现Completablefuture这个工具类怎么突然这么爱考了,牛客上的面经基本都在问这个工具类。因此今天我们就来专门总结一下Completablefuture常见的面试题。
程序员牛肉
2025/03/17
2920
大厂常用工具类Completablefuture的面试题都有哪些?这次我都替你收集好了。
有了Future为什么还要CompletableFuture?
cheese
2024/02/06
2510
有了Future为什么还要CompletableFuture?
不会用Java Future,我怀疑你泡茶没我快, 又是超长图文!!
现陆续将Demo代码和技术文章整理在一起 Github实践精选 ,方便大家阅读查看,本文同样收录在此,觉得不错,还请Star
用户4172423
2020/07/14
5740
理解Java8里面CompletableFuture异步编程
其中第三个特性,就是今天我们想要聊的话题,正是因为CompletableFuture的出现,才使得使用Java进行异步编程提供了可能。
我是攻城师
2018/11/23
16.7K0
CompletableFuture 使用详解
没有指定Executor的方法会使用ForkJoinPool.commonPool() 作为它的线程池执行异步代码。如果指定线程池,则使用指定的线程池运行。以下所有的方法都类同。
java404
2018/10/10
4.1K1
CompletableFuture详解
因为CompletableFuture实现了Future接口所以先看一下Future
用户10136162
2022/11/15
1.1K0
CompletableFuture详解
异步编程利器:CompletableFuture详解
最近刚好使用CompeletableFuture优化了项目中的代码,所以跟大家一起学习CompletableFuture。
捡田螺的小男孩
2021/06/15
7K0
异步编程利器:CompletableFuture详解
一网打尽:异步神器 CompletableFuture 万字详解!
CompletableFuture是jdk8的新特性。CompletableFuture实现了CompletionStage接口和Future接口,前者是对后者的一个扩展,增加了异步会点、流式处理、多个Future组合处理的能力,使Java在处理多任务的协同工作时更加顺畅便利。
搜云库技术团队
2023/09/18
2.7K0
一网打尽:异步神器 CompletableFuture 万字详解!
【并发编程】异步编程CompletableFuture实战
在JDK8之前,我们使用的Java多线程变成,主要是 Thread+Runnable 来完成,但是这种方式有个弊端就是没有返回值。如果想要返回值怎么办呢,大多数人就会想到 Callable + Thread 的方式来获取到返回值。
互联网小阿祥
2023/05/28
1.1K0
【并发编程】异步编程CompletableFuture实战
CompletableFuture:supplyAsync与runAsync
CompletableFuture是Java 8中引入的一个类,用于简化异步编程和并发操作。它提供了一种方便的方式来处理异步任务的结果,以及将多个异步任务组合在一起执行。CompletableFuture支持链式操作,使得异步编程更加直观和灵活。
不惑
2023/11/14
1.3K0
聊聊Java中CompletableFuture的使用
CompletableFuture是java8引入的一个异步类,它最大的优势是可以在创建的对象中传入一个回调对象,在任务结束后(done或throw exception),自动调用回调对象的回调方法,而不用让主线程阻塞。
jinjunzhu
2020/08/20
9090
Java8异步利器CompletableFuture的骚操作
这篇关于CompletableFuture的文章在前一个月就写了一部分,后面没有时间去写,今天周末,所以就抽时间把它写完,因为CompletableFuture中的函数确实很多,也没必要一个一个的去写完,只是抽出大致的函数来说,因为CompletableFuture很像ES6中的Promise()函数,所以我们在学习的时候可以带着Promise()的思想去学习,异步编程不但能够提升我们的相应速度,也能使我们的代码更加简洁,但是我们是在用异步编程的时候也要充分考虑业务和方法是否合适异步操作,不然将会带来一些问题。
小四的技术之旅
2022/07/26
1.7K0
Java8异步利器CompletableFuture的骚操作
推荐阅读
相关推荐
CompletableFuture:异步编程没那么难
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档