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

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

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

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

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

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

  • 思源笔记

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

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

    18691 引用 • 69774 回帖 • 2 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 想法很棒。不过还有一个问题没解决:如果只以标题为结点,如何处理作为大纲存在的列表块?
    图片.png

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

    列表与标题的连贯

    假如列表是标题块的唯一子块,直接顺延即可(如图)。(建议大纲 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 更新了该回帖
  • D 大,这个公司做的白班很牛,可以参考下功能 https://boardmix.cn/

    1 回复
  • lnid123 1

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

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

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

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

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

  • 查看全部回帖

推荐标签 标签

  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖 • 4 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 618 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 598 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 513 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 605 关注
  • SEO

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

    35 引用 • 200 回帖 • 24 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 383 回帖 • 3 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    40 引用 • 40 回帖
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    19 引用 • 31 回帖 • 1 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖 • 7 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 175 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    16 引用 • 53 回帖 • 124 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 1 关注
  • Netty

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

    49 引用 • 33 回帖 • 21 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    164 引用 • 407 回帖 • 527 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 426 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 544 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 609 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 291 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    313 引用 • 1666 回帖
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 1 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    103 引用 • 126 回帖 • 447 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 685 关注
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    161 引用 • 473 回帖