调查 [v2 更新版]: 是否支持段落缩进形成树状嵌套结构?(像 notion/wolai/flowus/logseq 那样)

本贴最后更新于 657 天前,其中的信息可能已经水流花落

之前的调查帖子里,

我提议段落能形成树状嵌套结构,但是我忽视了一点,就是很多人可能经常需要在段落里进行 Tab, 来增加一个制表符或者几个空格,

而我的提议里说到将 Tab 键改成新功能, 这会破坏一大部分人原先用 Tab 的习惯,

所以我想这可能是不少人反对这个提议的原因,

但其实对于我,想要的是这种功能,而不太关心"用什么按键实现这个功能",毕竟 windows 平台有两个不错的改键方法: autohotkey 和 微软的 PowerToys (更推荐前者) PS:Mac 上可以使用 hammerspoon (我没用过)

所以我想更新一下这个提议内容,再次调查,

更新为: 使用其他键(允许自定义)来实现这个新功能, 原先 Tab 键功能完全不变

下面是提议的具体内容:

在上面那些笔记中, 段落(或者说"块")按下 Tab 时会自动缩进变成前面块的子项,从而构成树状嵌套结构,

如下

Snipaste20230304224955.png

类似思源的列表项缩进,

但是思源的段落不支持形成嵌套(段落是叶子块,不能包含其他块).

所以就有了这个提议: 让段落块支持嵌套,

Notion/Wolai/Flowus/Logseq 都支持,Obsidian 其实也支持,但它和其他笔记不同,如下:

Snipaste20230306090526.png

段落嵌套有什么好处呢?

  1. 嵌套能形成树状结构,由于缩进和缩进线,可以很容易看出层级结构, 不需要专门设置一级/二级等标题,如下

Snipaste20230304225902.png

  1. 这种树状嵌套结构支持折叠, 是不是很像列表和各级标题块的功能?
    而且还不用担心像标题块那样如果级别设置错误,导致折叠不符预期

Snipaste20230306090729.png

为啥不用列表?

  1. 列表需要先创建,据我所知目前只能通过在段落开头输入-或 + 等符号,然后空格,才能创建
    我觉得很麻烦,而且创建完之后,编辑光标已经不在原来位置了

  2. 两个独立的列表要想形成嵌套,那首先要合并,而进行合并也是很麻烦,如下所示,

    Snipaste20230306100923.png

    我想不到如何用单个快捷键实现它

    对列表 2 用 Ctrl+X 先剪切再粘贴到列表 1? 如果列表 2 带有子项,(据我所知)无法剪切整个列表 2

  3. 在单个列表里, 如果想创建一个空块, 只按回车键是不够的,思源会退出当前列表,返回上一级

    需要先输入一个字符(比如按下空格键),然后再回车才能

大家有什么看法呢?请在评论区留言

是否支持?

单选 公开 永不结束 31 票
支持
35% 11 票
不支持
48% 15 票
随意
16% 5 票

  • 思源笔记

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

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

    23014 引用 • 92569 回帖
5 操作
iamqiz 在 2023-03-06 13:36:50 更新了该帖
iamqiz 在 2023-03-06 12:06:22 更新了该帖
iamqiz 在 2023-03-06 10:47:35 更新了该帖
iamqiz 在 2023-03-06 10:24:38 更新了该帖 iamqiz 在 2023-03-06 10:14:27 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • soltus 1 评论

    使用段落嵌套而不是列表的必要性是什么呢

    更新了,见文章底部
    iamqiz
  • suiji 6 评论

    段落嵌套就是没有符号标志的列表呗。

    我的使用体验是,要大规模的使用结构化排布,那干脆直接用列表块。只有在涉及单个段落时,才有段落嵌套的需要——文章中的一个段落突然缩进并前缀了一个符号,太破坏排版了。

    因此,我认为段落嵌套的需求可以窄化、具体化为:让超级块支持嵌套。

    超级块的创建,本身就出自文本结构化需要,所以对超级块内部也作结构化,应该是合乎逻辑的。

    其实如果段落进行缩进嵌套,那么像列表小黑点那样的前缀符号可以省略掉(就像我在文章里截图那样,只有缩进线) 超级块不支持直接创建吧? 貌似只能鼠标拖拽;
    iamqiz
    我经常遇到单个段落需要嵌套的情况,不是大规模结构化,需要临时创建列表, 但非常麻烦 (先按 home 键在段落开头加上 + 或-符号然后空格创建列表,然后按 end 键跳到结尾按回车)
    iamqiz
    @iamqiz 列表创建还可以通过块标菜单。块标菜单既可以用鼠标找,也可以”Ctrl+/“,要注意”-+ 空格“的列表创建有其局限性,见 思源的那些热知识,你都知道吗? - suiji 的回帖 comments 第二点。由第二点可知,当前段落转列表有两个实现逻辑,这就要求快捷转换列表的快捷键也要有两个,尴尬的是,这反而不便捷了。
    suiji
    既然你的需求场景也是”单个段落需要嵌套“,那么我就继续发展我的看法了:为什么要让超级块支持段落嵌套呢?因为这是对”文档包围大纲“的补足。思源经过 2.0 大改和诸多网友建言献策后,对列表的处理已经很好了,但还有漏网之鱼,就是作为篇章之一部的段落如何也能”折叠\展开“。不使用列表的情况下,只能使用标题等级,但段落是不能设为标题的。段落块既有逻辑也不好改,所以我就盯上了超级块。至于超级块在技术上能不能做,我就不得而知了。
    suiji
    @suiji 我看了,确实是两个逻辑,但应该算是设计疏忽,而不是有意为之
    iamqiz
    @suiji 漏网之鱼还有各种类型块的快捷键创建, wolai/flowus 都有相应的快捷键来创建无序有序代办列表等; 刚才试了一下超级块,将两个段落合并为一个左右结构的超级块,然后导出 markdown 在 typora 打开,结果不出所料,打开的是上下结构, 超级块应该不是 markdown 语法;
    iamqiz
  • iamqiz 1 评论

    @88250 这样的段落本质上就是列表, 如果能方便地创建列表 + 两个独立列表能方便地进行合并, 其实用目前的列表也能凑合; 是否考虑下?

    确实列表的移动合并有时候不好用
    bgt
  • 整段给我的感觉就比较莫名其妙,就因为不愿意用无序列表,费尽巴拉地撺掇开发者从头开发一个已然完善的功能。

    无序列表的弃用理由也不够充分。

    就像是提议增加 #标签 的功能:「让标签可以回看被链接的块,被链接的块也可以在反链面板上看到链接块」。别人说这不就是现在的 [[双链]] 吗?你非说打 [[ 麻烦一样……

    1 回复
  • iamqiz

    首先请你仔细看看我写的不使用列表的理由

    Snipaste20230306114125.png

    思源目前能通过一个快捷键来实现上面的每个功能?

    这和你说的 仅仅用 [[ 就能创建一个反链 是一回事?

    你觉得我会认为输入[[ 很麻烦?

    按你的逻辑, 只要列表功能就够了,

    那为什么 notion/wolai/flowus/logseq 在实现段落嵌套的同时还保留列表功能?

  • Bard 2 评论

    我是用不上的,但有总比没有好的

    毕竟让思源的使用更加灵活了,然后也能包容更多人了

    不愧是大佬,充满包容思想, 赞! 我本来心想该新功能不会影响现有用户的使用,没想到有那么多人反对
    iamqiz
    @iamqiz 给 D 宝点时间,说不定那天就实现了呢,我觉得还是有希望的
    Bard
  • qwj 2 评论

    wolai 的【辅助功能-显示块结构】(就是每个块有个虚线边框)这个对我这种强迫症是非常有用的,希望有这个功能。

    2 回复
    使用 CSS 代码片段实现
    soltus
    @soltus 请问是在哪里加?主题文件夹的 theme.css 吗?
    qwj
  • iamqiz 1 赞同

    思源设置 > 外观 > 代码片段 >CSS

    粘贴下面 css 代码

    .protyle-wysiwyg  [data-type="NodeList"] {
        outline: 1px dashed var(--b3-theme-on-surface-light);  
        border-radius: 4px;
    }
    

    然后起个名字,点击右边滑块启用, 最后保存

  • RenaEmiya 3 评论

    这东西不是支不支持的问题。。主要是实现起来挺折腾的。。一开始没设计这个,现在加上去难度很高。。

    真不如找个 css,把列表前的圆点设置成不显示。。

    1 回复
    作为用户,不是要根据自己需不需要来决定是否支持吗? 难度高的,可以缓缓再搞,比如插件系统,白板,难度高,但依然很多人支持
    iamqiz
    把圆点去掉,怎么区分段落和列表 😂
    iamqiz
    @iamqiz 插件白板你是没有办法绕过去,成本高价值高,不过都是新功能,对稳定性影响不大。。你这个需求,还是从 css 实现比较方便,如果觉得不方便就弄个快捷键,比如 space tab 创建不显示圆点的列表。。如果要从底层改语法结构,工程量大,而且是改动原有框架,也容易影响稳定性;这种改动,只要不更新,过几个版本就发现自己的笔记全部坏掉了。。
    RenaEmiya
  • iamqiz 3 评论

    去掉列表小黑点的效果: 😂

    Snipaste20230306141446.png

    1 回复
    嗯,这个效果确实不太好 😂 ,可能得再折腾折腾 css 的写法 ;你可以去思源笔记折腾群里看看有没有人有时间帮你弄一下
    RenaEmiya
    反正我是很支持加个【把列表渲染成“带缩进的段落”】的功能,在一些情况下排版能舒服很多;现在列表渲染成表格、脑图都折腾出来了,渲染成带缩进的段落应该很轻松;也可以设计一个规则允许隐藏空白节点,实现你说的 obsidian 的那个特殊的缩进。。。但是想让段落支持缩进真的是难度太高了,D 在你上条贴子里已经讲过原因了。。。
    RenaEmiya
    @1995hanjian 其实我本来也倾向于使用列表,奈何目前的列表操作也很麻烦;段落转换列表麻烦 + 列表合并麻烦 + 选择整个列表麻烦; 想到我用过的笔记大部分都支持段落嵌套就提了这个想法
    iamqiz
  • RenaEmiya 1 评论

    关于你说的“剪切整个列表 2”应该是没问题的~~

    不过现在不是很建议用剪切,我记得思源现在剪切粘贴好像会丢失引用 😭

    动画 2.gif

    (另外楼主你这 666666 号成员有点秀啊)

    作为键盘党,用鼠标来剪切效率太低, 我试过先折叠,再剪切也不行 ; 666 那是个性签名 😂
    iamqiz
  • 你这个是不太好看,看我写的 CSS:

    通过 CSS 让某些列表变成嵌套段落

请输入回帖内容 ...