思源笔记建议: 脑图模式的意义与脑图优化的建议

其实我一直觉得脑图有非常重要的意义.

一方面是长文档, 脑图模式组织块的层次关系远比平文本直观和方便.

另一方面, 当所记的没有清晰的逻辑关系, 比如读别人的代码, 经常是可能读了这个函数, 做了点笔记, 又需要跳转到读另一个函数, 跳转关系太多. 用平文本书写感到非常难受. 用脑图的话, 很方便, 看另一个函数再增加一个块就行了, 以这个函数的函数名为块名, 之后想对这个函数再添加笔记很直观, 点进入添加就行了. 比如:

image.png

这些在我开始看代码的时候, 不是这样组织的, 但有脑图, 可以很方便重新组织. 而且想在哪里添加就在哪里添加.

但把脑图和 markdown 结合得比较好的, 我没发现. 比如我一直用的 ithoughts, 它能打开 markdown, 其实是把 markdown 转换成了它自己的格式, 而不是原地编辑原来的 markdown. ithoughts 也可以导出为 markdown, 如果它有命令行工具支持这件事, 可以批量转换, 我肯定很乐意用, 但目前是不支持, 估计以后也很难指望支持.

有一些插件, 能将 markdown 用脑图展示, 但也不是编辑. 顶多算是有点视觉体验, 完全达不到组织文档的作用.

思源笔记有脑图模式, 但我感觉目前还很不实用. 我来总结总结它离实用差在哪里:

最重要的, 什么是一个节点, 我觉得不该是段落块, 而应该是标题块. 看下图, 这就是以段落块为节点的后果.

image.png

如图, 这仅仅是文档的一小部分, 但是满屏都是这些段落节点, 毫无意义, 一看到就想让人赶紧退出脑图模式.

我感觉能看到的节点有应该是标题块, 我觉得所有的内容都应该在某个标题块. 这样节点数量就会小得多.

这是根本上的分歧. 然后在这个以标题块为节点的前提下, 实现节点的创建, 点击创建游离的新节点, tab(子节点), shift+tab(创建父节点), enter 这些快捷键. 就这 4 个, 差不多就是创建节点需要的全部快捷键. 再次说, 都是标题块. 游离块默认最小标题等级.

如果真是所有的节点都是标题块节点, 那么段落内容放哪里呢? 我觉得点击节点的时候, 浮现显示就很好了(就像现在点击段落节点会浮现段落的全部内容那样). 本来, 脑图模式的优势也不是对一个段落细节书写, 而是整体逻辑关系的组织.

与文本模式很平滑地过渡. 我觉得什么是平滑, 还是在, 节点只有标题块, 段落内容只在点击节点的时候显示这个前提下描述. 比如 option+click, 就进入了这个段的文本模式(就是平常的那种显示模式). 再一个快捷键, 就来到了脑图模式, 并且 focus 在当前光标所在的段落块.

我觉得不需要其它的, 就这几点, 脑图模式的体验和实用意义都会完全不同.

我觉得对长文档的组织能力, 才体现了工具的价值, 否则为何我不用记事本之类的写呢.. 有人可能说, 还有双链呢. 但是说实话, 双链就用普通的文本编辑器也可以达到类似的效果, 比如 vscode, 我大可以在这个需要链接的地方加上一个随机字符串, 需要引用的时候, 引用这个随机字符串, 再比如 vim 本来就支持 tag 语法(虽然需要不断用命令行更新 tag 文件). 方便性是差了些, 但本来也不是那么高频. 但平滑的脑图操作, 立即就不一样了, 这是文本编辑器做不到的.

再次总结我觉得脑图应该是啥样:

  1. 只有标题块, 内容点击浮现显示
  2. 支持自由创建节点(还是标题块), 支持 tab, shift tab, enter, click 四种方式创建
  3. 能与文本模式无缝切换, 无缝体现在 focus 和光标的位置.

p.s. 我之前建议像 vim 一样, 可以一键折叠所有内容块, 但如果脑图模式如上设想, 那么这个想法就完全不需要了, 因为层次关系的浏览, 某个内容块的迅速定位, 用脑图模式就是最自然的.

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • EndlessErrors
    支持者 订阅者

    想法很棒。不过还有一个问题没解决:如果只以标题为结点,如何处理作为大纲存在的列表块?
    图片.png

  • 其他回帖
  • lnid123

    其实现在几乎所有双链笔记的脑图还有一个大的问题:

    1。 都是从主到次的树型,但在实际中思维导图的方式不完全是这种解析式的,还有归纳式的,即先列出各种现象,再根据各种现象来归纳,并不是我们所说的线性的,而是发散型的,这在脑图的制作上会更加的灵活,脑图应该包容各种各样的,而不是只有 markdown 的标题块才可以归纳为脑图

    2。不能灵活在脑图上自由添加额外的信息,现在就只有 obsidian 中有一个插件在着手,好像叫做 juggl,可以保存添加备注各种各样的脑图

    3。脑图的各个子单元在图谱中修改,不会改动原文件。实际中,很多联系和观点是在脑图中有灵感时才迸发出来的,如添加双向或单向箭头,就可以在原文件中自动添加相关双链的操作

    希望思源笔记可以在脑图的发展上更加灵活和有前瞻性

  • EndlessErrors 2 赞同
    支持者 订阅者

    尝试对楼主的方案做一些改进,权当抛砖引玉:

    列表与标题的连贯

    假如列表是标题块的唯一子块,直接顺延即可(如图)。(建议大纲 Dock 栏也如此处理)

    image.png

    而且如果出现在脑图模式下添加了 6 级以上的子结点,由于文档模式没有这么高级的标题,自动转化为列表。

    image.png

    事实上,一些脑图软件导出 Markdown 就是这么做的(XMind 导出的甚至不用 H3 以上的标题)图片.png

    对于列表不是标题块的唯一子块的情况,后续再细说。

    不仅仅显示标题块,同时将非标题内容缩小后渲染成一个节点

    以我实际做的一篇笔记为例:

    左边为笔记,右边是我用 XMind 做的理想的脑图表现形式示意图。

    标题块正常显示,而 每两个高低级标题块之间的内容 以及 最低级标题块的子内容 则整体作为一个节点渲染在对应位置(就好像这个节点本身是一个嵌入块),渲染时字体大小相对标题块更小,而且节点大小不能过大(高度、宽度控制在合适范围内,通过滚动条上下查看,允许用户拖拽边界修改大小)

    image.png

    单从外观上看,有点类似 MarginNote 3,它的每个结点也是有比较多的内容的:image.png

    假如按楼主所说,只显示标题块,那脑图和大纲 Dock 栏的功能有多少差别呢? 不过是形式不同而已。

    脑图模式应该是和线性编辑模式(所见即所得模式)并列,作为编辑文档的模式存在的。有具体看到每个细节的能力的(但有能力做一件事情不代表就一定要做,根据实际情况可以一键把非标题内容给隐藏/折叠起来,就好像关系图的筛选功能一样)。如果按这种方法来显示非标题内容,非标题节点的个数在最坏的情况是和标题节点的个数一样多(我举的例子即为最坏情况:每两个高低级标题块之间都有内容),相比 v1.8 现有的方案,仍然能够大大精简脑图。脑图在保留了查看全文的能力下,又能清晰显示出文章的骨架架构。

    为什么需要保留查看全文能力?还涉及一个容错度或者说自由度的问题:

    由于线性笔记的结构性不如大纲类(但好处是线性笔记自由度更高),有很多内容未必就放在适当的位置,以我举的例子来说,最严谨的组织形式如下,橙色的是修改过的地方,如果显示为脑图也会很清晰:

    image.png

    但是我并没有那么多时间来一板一眼地把笔记组织起来,我还得上课还有作业,不可能一直花大量时间完善笔记,我觉得自己原来做的笔记结构已经很不错了,至少在线性编辑模式看来没什么问题;但是这结构却达不到脑图的要求,如果只显示标题,很多内容都丢失了,image.png但如果脑图能显示全部内容,就多出来了容错空间,我不需要把笔记做的天衣无缝了。

    线性笔记的优点就是相对灵活的组织形式,非要按照大纲笔记一样以严格的标准来显示无异于削足适履

    此外,不仅能够做到楼主说的脑图与线性模式无缝切换,甚至在脑图模式有可能直接做到无缝衔接,修改内容只要在非标题内容节点上直接修改(就像从悬浮窗修改其它块一样)。

    非标题内容中重点的手动提取

    假如图中的列表是重点,是我希望出现在脑图里的。

    image.png

    那么我可以通过下面的步骤手动把这个块将这个块显示到脑图里,放到非标题节点之后作为其子结点(同时由于它是列表,会自动展开)。(当然也可以反过来把这个块放回去不在脑图中显示)

    image.png

    有多个块放到非标题节点后,顺序是根据线性笔记里固有的顺序来的,而且在脑图中不能通过移动节点来调换这个顺序,除非修改线性笔记的顺序

    image.png

    在物理存储结构上,非标题节点中的一个块是否提出是依据这个块的内容(重要性、与主题的相关度)决定的,所以是块的本身的属性,与它所在的非标题节点无关。假如把这个块移动到另一个非标题区域中,它还是会在脑图中被单独提出来(所谓“是金子在哪儿都能发光”)

    我只管胡思乱想,可行性就不知道了。。。。😳

    但是我始终觉得把非标题内容一刀砍了是不是太简单粗暴了。。。如果我说的方案花的时间成本很大,暂时实现不了,那我倒是愿意等等的(就像在等挂件、插件、PDF 标注一样)。

    2 操作
    EndlessErrors 在 2021-05-01 14:55:29 更新了该回帖
    EndlessErrors 在 2021-05-01 13:40:37 更新了该回帖
  • 88250
    订阅者

    谢谢,和我们想到一块儿了!脑图会在后面的版本进行重制,使用标题块作为节点 https://github.com/siyuan-note/siyuan/issues/2024

    1 回复