希望全局搜索可以钉住并支持拖动结果到文档编辑器

本贴最后更新于 786 天前,其中的信息可能已经天翻地覆

虽然理论上讲,整理某个主题相关的内容是借助的反链面板和提及面板,但实际使用中会有以下情况:

  1. 反链面板和提及面板没有及时刷新,比如新创建一个主题文档时,点开提及面板往往是空的,刷新也没反应,但其实此时其他文档里已经有提及该主题的内容,这时候就只能借助全局搜索。
  2. 提及面板是靠字符串匹配来检索的,所以它不支持模糊查询,但有时候需要把字符内容匹配不上的文段也转移到当前主题中来,比如与它相关但未直接提及的内容,而当时又没创建反链,这时候也只能借助全局搜索才能搜到。

目前的全局搜索窗口上下分屏,可以快速预览每条搜索结果,这点很好,但是预览出来的这个搜索结果却无法直接使用,因为搜索窗口目前是个 ModalDialog,搜索结果无法拖动到文档编辑器,而当鼠标切换到文档编辑器时搜索窗口就没了。这就使得搜索结果无法很方便地转移到当前编辑的文档中。

目前的操作逻辑需要双击某条搜索结果,然后就直接跳到了这条结果所在的文档段落,但其实我这时候并不想马上编辑它,而是想继续搜索其他结果,所以我又要切回到刚才的主题文档,再次打开全局搜索窗口进行搜索,并再双击点开另一条搜索结果,如此反复,非常繁琐……

并且当我点开了几个文档页签之后,要想在它们之间转移内容,就只能通过反复的复制粘贴和切换页签,而不能直接一键拖到目标位置,这里的原因在于页签之间不是平铺关系。我在 https://github.com/siyuan-note/siyuan/issues/3565#issuecomment-1118285501 里专门提到了素材内容平铺的重要性,这会极大提升后期整理的体验。目前的后期整理过程还是相当麻烦的。

我认为可能的改进方向有两个:

  1. 将全局搜索窗口改为非模态,并支持钉住,这样它不会因为鼠标的操作、页签的切换而消失掉。我之前提过希望浮窗和搜索窗口都支持拖到第二屏(直接把整个主界面 UI 拖宽是不行的,这样图片会变形,整个布局的比例关系看上去也会很奇怪),如果只有一屏的话那应该支持以分屏方式放到界面中,要不然这俩面积都太大了,直接遮住文档编辑器,使得文档无法编辑。
  2. https://github.com/siyuan-note/siyuan/issues/3565#issuecomment-1118285501 里提议的那样,支持一个以平铺形式钉住内容的“素材区”,类似 Logseq 的右边栏,这个素材区不限于只能钉反链结果,或只能钉搜索结果,而是像“聚焦”操作一样可以把任意关注的块钉上去,稍后再统一对它们进行整理。
  • 思源笔记

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

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

    19823 引用 • 75915 回帖
1 操作
mowangmm 在 2022-05-10 12:52:19 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 目前可以考虑使用搜索页签(编辑器中划选关键字然后 Ctrl+Shift+F),可以同时存在多个搜索页签,支持拖拽。

    1 回复
  • mowangmm

    我就说既然有反链页签也应该有搜索页签,果然,之前没注意到。用搜索页签基本上可以解决我上述的问题了,如果能再跟搜索窗口统一一下,把“包含子文档”、“区分大小写“、“查询语法”和类型筛选加进来就更好了。提个小建议,这个搜索页签更接近于全局搜索,默认快捷键可否改成 Ctrl+Alt+P 呢?(发现 Ctrl+Shift+P 已经被占用了),不然 Ctrl+Shift+F 看上去是跟文档内搜索更接近。

    这样在右侧栏上面显示搜索条目列表,下面显示可编辑的条目内容,虽然不是平铺钉住的模式,但条目列表本身是平铺的,我只要切换条目就可以在下方编辑区显示相应内容,然后可以编辑、可以复制、可以拖动到当前编辑文档,我觉得这样也挺好用了,不知道目前正在改的编辑器式反链面板是不是也做成类似的用法。

    1 回复
  • 搜索这部分目前有两个计划还在考虑中:

    目前开发资源跟不上,还得再缓缓。新的编辑器式反链面板暂时不考虑搜索过滤,后面再收集反馈进行改进。

    1 回复
  • mowangmm 1

    我的意思是说,目前的搜索页签是上下分屏,上面显示搜索结果条目,下面显示编辑器式预览,这种体验很好。如果能复用到反链面板,上面是反链条目,下面是编辑器式预览,这样就能很大程度上优化反链操作体验,从技术实现上来说也减少了开发量,统一了界面逻辑。

    1 回复
  • 明白了,这是个很好的建议,我们考虑看下。

  • 似乎有点问题,反链条目得具备上下文能力:

    • 通过块面包屑提供上文
    • 通过缩进排版提供下文

    如果是类似搜索平铺条目的话会失去这个能力,可能还是只能在编辑器里才能实现。

    1 回复
  • mowangmm

    其实反链条目的展示规则可以不用变,我建议的只是加一个像搜索窗口、搜索页签下半部那样的预览区域。相比于目前需要通过浮窗或者打开新页签才能查看反链条目内容,这样的预览区会方便很多

    1 回复
  • 恐怕还是得一步到位,改成编辑器式的 😂

请输入回帖内容 ...

推荐标签 标签

  • abitmean

    有点意思就行了

    31 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖 • 1 关注
  • 笔记

    好记性不如烂笔头。

    306 引用 • 782 回帖
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    332 引用 • 619 回帖 • 1 关注
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 444 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 154 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    45 引用 • 25 回帖
  • 安装

    你若安好,便是晴天。

    131 引用 • 1184 回帖
  • 创造

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

    175 引用 • 992 回帖
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 44 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    51 引用 • 37 回帖 • 1 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    4 引用 • 91 回帖
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    536 引用 • 672 回帖
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖 • 1 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    89 引用 • 113 回帖
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 234 关注
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 45 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    54 引用 • 85 回帖
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    83 引用 • 165 回帖 • 13 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 110 关注
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 4 关注
  • SQLite

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

    4 引用 • 7 回帖 • 1 关注