脑图模式的意义与脑图优化的建议

本贴最后更新于 1417 天前,其中的信息可能已经时移世改

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

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

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

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 一样, 可以一键折叠所有内容块, 但如果脑图模式如上设想, 那么这个想法就完全不需要了, 因为层次关系的浏览, 某个内容块的迅速定位, 用脑图模式就是最自然的.

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    24588 引用 • 100767 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • EndlessErrors 1 4 赞同

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

    列表与标题的连贯

    假如列表是标题块的唯一子块,直接顺延即可(如图)。(建议大纲 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 更新了该回帖
  • 其他回帖
  • 能否支持将节点与其子节点展示的模式变为导图的模式
    类似这样 https://zhuanlan.zhihu.com/p/5282521430

  • D 大,这个公司做的白班很牛,可以参考下功能 https://boardmix.cn/

    1 回复
  • lnid123 1

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

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

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

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

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

  • 查看全部回帖

推荐标签 标签

  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 678 关注
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 89 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 3 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 34 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    945 引用 • 1460 回帖 • 1 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    116 引用 • 54 回帖 • 1 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    143 引用 • 442 回帖 • 3 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    188 引用 • 1057 回帖 • 1 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    21 引用 • 204 回帖 • 1 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    267 引用 • 666 回帖
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 30 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    83 引用 • 37 回帖
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    132 引用 • 1115 回帖 • 122 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖 • 1 关注
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 106 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 115 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 18 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 30 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    27 引用 • 196 回帖 • 27 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 524 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    182 引用 • 1007 回帖 • 1 关注
  • sts
    2 引用 • 2 回帖 • 221 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    107 引用 • 153 回帖
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖 • 2 关注
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 3 关注
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 687 关注