[反馈] 光标经过水平分割线时自动选中导致的问题

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

正常情况下 esc 选中一个块之后按上下方向键,会选中其他块,即依然是选中模式.

假如光标经过分割线前是非选中模式(比如插入模式,类似 vim), 光标经过水平分割线时自动选中水平线会导致光标经过分割线移动到普通行时变成选中模式,切后续都是选中模式, 要切换为插入模式需要按 Esc,

而选中模式下是没法使用 shift+ 左/右 选择文本的,

而用户经常需要用到插入模式, 通过移动光标就从非选中模式变成选中模式,会导致用户需要频繁按 esc 来取消选中模式,

因此建议光标经过水平分割线时,不自动选中分割线, 除非按 esc 进入选中模式

而且选中模式还会导致下面的问题 ,就是光标在分割线开头时按 enter 会在分割线后面插入新行(这是选中分割线时的特性), 而在插入模式中,由于光标在分割线开头,因此按 enter 可以在分割线前面插入空行, 这符合人的直觉.

详见视频

  • 思源笔记

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

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

    20164 引用 • 77799 回帖

相关帖子

欢迎来到这里!

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

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

    V 佬,反馈一下 现在插入模式下光标置于分割线开头时 enter 是在分割线后面新建一行, 选中模式下按 enter 没反应,

    希望是

    插入模式中按 enter 在分割线前面插入空行(在 notion 的插入模式中,光标是无法放置于分割线开头的)

    选中模式中按 enter 在分割线后面插入空行,(notion 的做法)

    那个光标其实是在后面的,是 hr 的下一行了。
    Vanessa
  • 其他回帖
  • 不可直接编辑的块都有此类问题,后期修改 Issue #5386 · siyuan-note/siyuan

    选中回车修改参见 Issue #5384 · siyuan-note/siyuan

    4 回复
  • iamqiz 5 评论
    作者

    下图中竖线是光标位置, 它是在第 1 个分割线后面 ,在第 2 个分割线前面吧? 这种情况下,按下 enter 按理应该是在第 2 个分割线前面插入空行, 但实际是在后面插入空行

    image.png

    这个已经到第二个分割线后面了,感觉应该优化一下这个点就可以了,不需要全局统一。
    Vanessa
    @Vanessa 上图是在一个分割线前面插入新分割线后的状态, 按理光标此时应该是在两个分隔线之间,即线 2 前面(虽然看起来好像是在线 2 后面), 因此按回车应该是两线之间插入空行, 而不是线 2 后面; ps 为了清楚表明光标是在线 2 前面.光标竖线的位置可以提高一下, 从 "厂" 变成"卜" ; ps2 "全局统一"是指什么
    iamqiz
    @iamqiz 这个受到浏览器的制约没有办法。全局统一指分割线回车后光标落在下一个块上,而不是遇到不可编辑块就落在自身的末尾。
    Vanessa
    @Vanessa 那这个问题怎么优化呢?
    iamqiz
    @iamqiz 如果分割线回车后是不可编辑的块,光标就落在分割线后
    Vanessa
  • Vanessa 1 赞同 2 评论
    1. 实际在线 2 后,应该在线 1 后
    2. 计划修改为,也就是在线 1 后
      image.png
    这个问题困扰我几天了, 因为我经常在前面增加分割线,所以就有了下面这个提议: [提议] 插入分割线的同时新建一行 希望 V 佬考虑实现一下 😄,4 人支持 1 人反对了 , notion /wolai 也是这样的
    iamqiz
    @iamqiz 要不我先改了,你下个版本体验一下? Issue #5470 · siyuan-note/siyuan
    Vanessa
  • 查看全部回帖

推荐标签 标签

  • gRpc
    11 引用 • 9 回帖 • 49 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    198 引用 • 120 回帖
  • C

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

    83 引用 • 165 回帖
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    923 引用 • 936 回帖
  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 319 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    186 引用 • 471 回帖 • 2 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 248 回帖 • 122 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • PostgreSQL

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

    22 引用 • 22 回帖
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 714 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 2 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    281 引用 • 716 回帖 • 1 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    14 引用 • 7 回帖 • 4 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 60 回帖 • 463 关注
  • 招聘

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

    189 引用 • 1056 回帖
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖
  • 创造

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

    175 引用 • 994 回帖
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 458 关注
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    5 引用 • 62 回帖
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 1 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 125 关注
  • 安全

    安全永远都不是一个小问题。

    191 引用 • 813 回帖
  • jsoup

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

    6 引用 • 1 回帖 • 473 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 348 关注