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

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

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

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

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

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

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

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

详见视频

  • 思源笔记

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

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

    19109 引用 • 71842 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • Vanessa 1 赞同 2 评论
    1. 实际在线 2 后,应该在线 1 后
    2. 计划修改为,也就是在线 1 后
      image.png
    这个问题困扰我几天了, 因为我经常在前面增加分割线,所以就有了下面这个提议: [提议] 插入分割线的同时新建一行 希望 V 佬考虑实现一下 😄,4 人支持 1 人反对了 , notion /wolai 也是这样的
    iamqiz
    @iamqiz 要不我先改了,你下个版本体验一下? Issue #5470 · siyuan-note/siyuan
    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
  • iamqiz 1 评论
    作者

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

    希望是

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

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

    那个光标其实是在后面的,是 hr 的下一行了。
    Vanessa
  • 查看全部回帖

推荐标签 标签

  • CSS

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

    181 引用 • 448 回帖 • 1 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    82 引用 • 122 回帖 • 618 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    169 引用 • 800 回帖
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • 博客

    记录并分享人生的经历。

    271 引用 • 2386 回帖
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    45 引用 • 113 回帖 • 298 关注
  • jsoup

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

    6 引用 • 1 回帖 • 466 关注
  • Linux

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

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

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

    49 引用 • 33 回帖 • 16 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖 • 36 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 696 关注
  • danl
    77 关注
  • 钉钉

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

    15 引用 • 67 回帖 • 366 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 22 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 696 关注
  • C

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

    83 引用 • 165 回帖 • 37 关注
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    129 引用 • 793 回帖 • 1 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 356 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    675 引用 • 535 回帖
  • SEO

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

    35 引用 • 200 回帖 • 30 关注
  • Gzip

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

    9 引用 • 12 回帖 • 114 关注
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 19 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 382 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 1 关注
  • Kotlin

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

    19 引用 • 33 回帖 • 30 关注