我最终选择了 logseq. 它是我至今使用过的笔记软件中, 最顺手, 也是最符合我内心设想的”什么才是理想笔记”中的一个了.

1.我理想中的笔记软件, 必须实现的功能

首先说说我理想中的笔记, 即, 如果我来设计”知识管理型笔记”这个产品的话, 应该具有的特征:

必须具备的功能 原因或目的
→ 必须有离线存储功能. 不能只云端. 为了安全.
→ 必须能跨网盘备份, 不能只捆绑在开发者或开发公司的私人服务器上. 最好能支持 github 备份 (其实只要有离线存储功能, 就已经实现了 github备份.) 为了安全
→ 必须有把信息能打成原子化, 即有 blocker 功能. 这个非常重要! 绝对不能只以 page 作为最小存储单位.
→ 必须有”思维导图”功能, 即, 每一条信息, 或知识点, 保存它时, 底层应该是原子化的状态, 而顶层能够用”思维导图”, 来编排成各种金字塔架构. “思维导图”是目前最好的, 符合人的大脑记忆的模式.
但遗憾的是, 目前市场上的思维导图, 都只是扁平二维化的模式, 而实际上, 人脑记忆, 是”三维化”的, 所以思维导图也必须是”三维空间化”, 才是更好的有助于组织和记忆的模式. (下面我会用图例展示)
→ 必须电脑和手机客户端上, 都能操作 随想随记
→ 必须支持 asciidoc 编辑语言, 而不能只是 markdown asciidoc 的功能和易用性, 完爆 markdown. markdown太弱了, 表格功能尤其原始.
→ 其所存储的最底层文件格式, 必须能够被其他”通用的文本软件”识别并编辑 以免我们的文件被该软件捆绑死, 而只能在它上面编辑. 即它的底层存储格式, 必须具有最广泛的迁移能力, 以免该软件万一哪天死了, 我们的资料还能安全转移, 而在别的软件上存活下去.


2. 来比较下 asciidoc, logseq, obsidian, notion

那么根据我上面的要求, 我就来比较一下 logseq, 和 ob, notion的区别, 再加上我一直使用的 本地电脑编辑asciidoc, 然后直接备份到github上. 当然, 我notion体验不多(下面表格中打问号是我不清楚它是否有这功能, 但更可能是没有这功能), 主要比较 logseq 和 obsidian, 还有我最熟悉的 asciidoc.

功能 (打★的是我认为权重最高的) logseq obsidian notion 本地asciidoc直接备份到github上
离线存储 ★ ×
多云端存储, 比如github
只要支持本地, 即支持备份到自己的云端上
?
blocker, 原子化 ★ × ×
思维导图
blocker功能, 任意组装, 勉强算是能模拟”思维导图”
×
其最小模块是page (评论中有人指出ob有block, 是的, 这一点我下面再来详细说)

也只是用blocker 模拟
×
跨平台编辑操作 √ 目前正在开发中 ×
支持asciidoc语言 × × ×
底层文件格式的可迁移性 ★ ?


3. 我个人的选择及原因

notion没有本地存储功能, 直接 pass. 它哪天倒闭了, 不干了, 我就损失惨重了, 数据无价.

obsidian很自由, 但是其最小模块却是 page, 颗粒细度太差, 导致其和传统的以page为基础笔记软件, 没有本质区别. 双向链接等功能救不了 page的硬伤. 我使用了几个月后, 感觉还不如我直接用 asciidoc操作, 更方便. 因为同样都是在page上写, asciidoc完爆markdown.

(上面是我的原文, 后来评论中有人说ob有block, 的确, 其实我经常用的 asciidoc 也是有 block概念的, 可以做”块引用”, 能够嵌入. 但 asciidoc / ob 中的block, 和 logseq / notion 中的 block, 还是相差很远. ob的是把page上的内容, 一块块扣下来作为block, 比较生硬, 细粒度也不够. 而 logseq 是完全建立在block上的, 从小到大, 万物皆block. 它们的逻辑是完全不一样的. 因此在block的易用性, 组装性上, logseq 是 远超 ob 的. )

所以, 最接近我理想设想的, 只有 logseq . 它给我最舒服的特性包括:

  • 用 [[ ]] 能直接自动新建, 并生成链接文件, 非常舒服, 都不用你在硬盘上手动来新建每一个文件并输入文件名了. 这就省去了很多繁琐操作, 大大提高了编辑时的流畅度.
  • 不需要你去直接管理硬盘上的文件层级, logseq会自动管理它们. (logseq没有”文件夹”的概念, 所有你创建的page, 都是平行关系的. 这有点类似于数据库操作概念. ). 你只需在页面上编辑你的 block, 并调用”引用”命令即可. logseq会自动去提取数据, 你只需在前台页面上组装即可. (我这段意思可能说的不太好理解, 但只有你真正用了 logseq后, 你才会感觉到这一点!)
  • 引用其他 block 时的命令也很方便, logseq似乎是全文搜索的, 都不需要你事先手动添加 tag等关键词, 就能引用到任何一个 block上.

事实上, 我做笔记, 一直面临着一个严重的困难无法解决 — 随着”碎片化笔记片段”的增多, 我的”信息分类组织架构”, 也会越来越失去”清晰性”, 变得臃肿庞杂, 逐渐混乱化.到最后, 我就会面临两个问题:

1. 我已经无法判定, 一条新的笔记, 到底该录入到哪一个分支中? 因为一条信息, 往往会具有”多重属性”, 似乎可以同时归类到多个分支中.

2. 对于已经录入进去的信息, 我也无法快速找到, 而淹没在茫茫的”信息森林”中. (有人可能会说, 可以用”全局搜索”功能来查找, 但这不是个好方法)

即, 我要解决这两个最重要的问题:

(1).如何永远保持清晰的”信息分类架构”, 而不随着录入信息的增多, 而臃肿混乱化?

我觉得, 这个问题, 本质上是无解的. 因为架构的混乱化, 是由这两个原因造成的:

原因1: 架构的”复杂度增加”, 和架构的”混乱化”, 两者是成”同比增长”关系的. 即, 随着你架构的”并列分支”变多, 分支”层级深度”变长, 它一定会向”混乱化”的趋势发展.

原因2: 你永远不可能有一个固定不变的”架构”. 因为随着你录入信息的增多, 随着你知识库覆盖面的增长, 你的架构, 永远会处在一个”动态调整”的过程中. 借用 IT 中的话说就是: 你永远在给飞行中的飞机换引擎.

这两个原因, 就决定了你不可能实现”永远保持住框架的清晰”这个目的.

目前, 行业中提供了两种方式, 来缓解这个问题: 1. 思维导图, 2. “伪思维导图” — 即用 “block+双向链接”来模拟它.

在你的架构还不算复杂的情况下, 思维导图能帮你看清整体 map. 但它的能力依然是有限的 : 随着思维导图架构的庞杂化(及”层级深度”增加), 我们依然会迷失. 原因很简单 — 人脑的”短期记忆容量”是有限的. 层级越多越深, 我们越记不住枝枝叉叉上的东西.

而且, 思维导图, 也解决不了信息的”多重属性”问题.

(2).如何快速的, 且便利的能查找到任何一条已录入的信息? (而不是只通过简单粗暴的”全局查找”功能来搜索.)

我觉得, 这个问题其实也是无解的.

先来看看传统的”全局查找”方法, 为什么它不是一个好的方法? 因为它能生效的前提是: 你必须先记得每个信息, 才能输入”关键字”来搜索. 但如果你记不得某条信息的关键字呢? 那这条信息就相当于”失联”了, 淹没在茫茫的”信息森林”中.

目前, 行业中提供了这两种方法, 来缓解这个问题: 1. 加tag标签, 2. 双向链接.

方法1: 使用 tag

但是 tag 的问题是: 它本身也是一种”关键词”. 而它依然无法解决你的大脑”记忆容量”的问题. 即, tag 越多, 你也越记不住. 太多的tag, 会导致最后连tag本身也混乱化了.

而且, tag分类太多太细, 就等于没有分类.

方法2: 双向链接.

双向链接, 从另一个思考角度, 试图来解决这个问题. 即, 既然我们最终会迷失在庞杂的架构中, 索性就不去追求对整体的”一目了然” (不追求连”思维导图”都实现不了的功能). 而是让你能从”任何一个信息”处, 更方便地看到”和它具有相关性的 其他信息”.

我打个比喻, 它是让每一个信息都变成port飞机场, 每个机场都有”指向其他相关机场”的指引牌. 这样, 机场与机场之间, 就形成了立体飞行网络.

即, 与 tag 和”全局查找”不同, tag等需要我们记住所有的关键词名字, 而”双向链接”, 解放了你的记忆负担 — 它换了种解决思路, 不需要你去记住所有信息,它也不追求你能时时想起来, 而是在你录入新信息的当时,就在“新信息”与你能回想起来的“相关的老信息”(不求全部)之间建立桥梁, 来提示你其它信息的存在. 这样, 哪怕你以后遗忘了某个信息(比如叫 aaa), 但你也能在另几处, 从它的”双向链接”中, 都发现 aaa 的存在. 因此, 你不会丢失任何一棵树.

想想全世界人与人之间的“六度关系理论”,你就能明白为什么“双向链接”能保证不失联任何一个信息。

即, 双向链接说: 我无法像从太空看地球那样, 帮你看到你知识库的整个地图map, 但我给你在任何信息之间, 建立起高速公路的自由, 以此来解决”信息不失联”的问题. 你虽然做不到”只见森林”, 但你能做到”不丢失每棵树”.

最终, 你发现, “双向链接”依然没有做到让你能”一步到位”的搜到任何一条信息. 而是通过类似“六度关系理论”那样的中介, 中间人, 来”顺藤摸瓜”的去查找信息.

所以, 无论如何, 目前没有软件能真正完美解决上面两个难题, 都只是提供”缓解”的方案. 我使用下来的体验就是, logseq 是我用过的所有软件里, 提供了”最接近解决方案”的一个了(当然也可能有我不知道的, 其他更好的解决方案存在), 并且它还有离线和免费的优点.

logseq 基本能满足我的刚需. 但目前它依然有”开发完成度”不足的问题.


当前 logseq 的bug或不足 (未开发完成)(会对使用造成影响的)

截止2022年1月20日, 我发现logseq有以下几个缺点, 或是开发不完善的问题:

(1).用[[]]创建的新链接页面, 点进去输入新内容后, 再退出来, 有时鼠标点上去预览时, 会不显示新页面里面你的内容.

这个现象很迷惑, 因为在有的链接页面上会出现无法预览, 有的则不会. 弄不清是怎么回事.

(2).用[[]]创建的新页面, 不能在[[]]的状态下直接修改文件名, 否则会创建出一个空白的新页面, 而原先链接的老文件会”失联”.

你在page1上, 用[[page son]]创建了一个新页面, 之后, 你想对后者改名, 不能直接在 page1上, 将鼠标光标放在[[]]里面来改名字, 比如改为 [[page new son]], 否则, logseq会直接创建出一个 新的空白页面page new son, 而不会提示你任何”已被修改”的信息. 而你原先链接到的page son 就失联了. 你必须先点进去 page son的页面, 再来改文件名, 才行.

(3).文件删除系统几乎残废

它的文件删除系统, 很不完善, 而且没有已删文件的恢复按钮. 它的文件不会被删除到windows系统的回收站里, 而是被挪到了你项目目录下的 logseq\.recycle 目录中. 要恢复时, 你只能手动把它拷回来, 放到 pages目录下.

(4).自带的双向链接数量检测, 很迷, 不推荐使用

另外, 它自带的”双向链接数为0的页面”查找功能, 有bug, 我在使用时, 它会把其实有双向链接存在的文件, 也识别为 “0连接”. 导致我在删除时, 把好的文件也一并删除了. 所以, 删文件时, 最好不要用它的这个识别功能.

(5). 整体拷贝block到另一个页面中时, block中的latex是无法拷贝的, 会丢失.

这个很头疼. 你在 page1 中的 block 里面 写 latex公式, 让后你把这个block拷贝到 page2中, 则你会发现, latex是无法拷过去的. 你只能单独拷贝latex代码过去, 这是可以的. 但如果你以 block为单位来拷贝的话, 则 block中的 latex 会丢失.

(6). 数据导出功能, 开发不完善

目前, logseq的页面无法导出成 pdf. (但是可以用一个变通方法: 先导出 html, 再用 chrome 来把它打印成 pdf.)

虽然支持导出 html (需要手动新建一个空白html, 然后把logseq给的html代码拷贝进去), 但:
– 无法保持页面中所见格式 (css的关系).
– 图片会丢失. 不过我后来发现, 可以这样操作来解决: 在你的logseq项目目录下, 新建一个文件夹, 比如取名叫 dir_html, 然后把你导出的html文件, 放进去, 重新拖到浏览器中, 就能显示出图片了.
– 如果有 latex公式, 则也不会被渲染.
– 用 (()) 来”块引用”的内容, 可以被导出.
– 用 [[]] 链接的页面, 不会自动变成超链接, 只会将”链接文件名”变成最普通的文字.

但logseq似乎支持直接在github中显示为博客.

(7). logseq被”冻结”的情况 — 任何操作都无法进行

这个bug我遇到过一次. 现象是你无法做任何操作, 任何编辑, 甚至连”新建页面”的按钮, 在界面上也找不到了, 消失了. 造成这个现象的原因不明. 但外网可以搜到对这个bug的讨论, 你可以搜关键词”Logseq freezes” 或 “logseq frozen”. 后来我的解决方式比较简单粗暴, 彻底把 logseq删除后, 再重装.

(8). 最后, 还有一个小bug — 插入图片时, logseq只认小写的 .jpg, 不认大写的 .JPG

所以, 如果你的图片扩展名是 .JPG, 必须先把它改成小写的 .jpg, 才能被 logseq 识别出来.


4. 我赞同的3d思维导图, 信息布局模式

下面, 附一张图, 即我认为的三维思维导图应该是怎样的, 其实就是在立体空间中展示.

我们很多的学习内容, 比如一个知识点, 一个观点等, 往往有同其”类似的其他理论”存在. 或某个现象, 在其他领域中有类似的反映存在. 它们的底层原理其实是相通的, 但写在同一个二维扁平的思维导图中, 归类上就很别扭, 甚至造成非常累赘. 把三维的内容压缩到二维中来显示, 本身就会造成特别”拥挤, 混乱, 不清晰美观”. 所以, 增加维度来存储信息, 是更好的方式.




Source link

作者 hejudan

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注