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

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

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

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

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

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

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

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

详见视频

  • 思源笔记

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

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

    19169 引用 • 72103 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

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

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

    希望是

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

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

    那个光标其实是在后面的,是 hr 的下一行了。
    Vanessa
  • 其他回帖
  • iamqiz 5 评论
    作者

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

    image.png

    这个已经到第二个分割线后面了,感觉应该优化一下这个点就可以了,不需要全局统一。
    Vanessa
    @Vanessa 上图是在一个分割线前面插入新分割线后的状态, 按理光标此时应该是在两个分隔线之间,即线 2 前面(虽然看起来好像是在线 2 后面), 因此按回车应该是两线之间插入空行, 而不是线 2 后面; ps 为了清楚表明光标是在线 2 前面.光标竖线的位置可以提高一下, 从 "厂" 变成"卜" ; ps2 "全局统一"是指什么
    iamqiz
    @iamqiz 这个受到浏览器的制约没有办法。全局统一指分割线回车后光标落在下一个块上,而不是遇到不可编辑块就落在自身的末尾。
    Vanessa
    @Vanessa 那这个问题怎么优化呢?
    iamqiz
    @iamqiz 如果分割线回车后是不可编辑的块,光标就落在分割线后
    Vanessa
  • 不可直接编辑的块都有此类问题,后期修改 Issue #5386 · siyuan-note/siyuan

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

    4 回复
  • iamqiz
    作者

    😑 emm "如果分割线回车后是不可编辑的块,光标就落在分割线后" 这句没理解,不知道这里是插入模式还是选中模式,光标是分割线的哪个位置,

    我重新整理一下我的几点疑问,请 V 佬解答下:

    视频 1: 思源 220719230248.mp4

    问题 1: 视频 1 中

    光标的实际位置是在线 2 前面还是后面?

    正确位置应该是线 2 前面还是后面? (我认为是线 2 前面)

    问题 2: 视频 1 中如果接下来按回车(插入模式下), 正确结果应该是下面哪一种?

    情况 1: 这是现在的情况

    image.png

    情况 2: (这是我期望的结果,因为 我认为问题 1 中的光标应该位于线 2 前面)

    image.png

    1 回复
  • 查看全部回帖

推荐标签 标签

  • Dubbo

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

    60 引用 • 82 回帖 • 610 关注
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 605 关注
  • Facebook

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

    4 引用 • 15 回帖 • 453 关注
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 11 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 80 关注
  • Typecho

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

    12 引用 • 60 回帖 • 468 关注
  • TextBundle

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

    1 引用 • 2 回帖 • 49 关注
  • 安装

    你若安好,便是晴天。

    130 引用 • 1184 回帖 • 1 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 906 回帖 • 202 关注
  • Wide

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

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

    30 引用 • 218 回帖 • 614 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    207 引用 • 2031 回帖 • 1 关注
  • 大数据

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

    89 引用 • 113 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6683 引用 • 29993 回帖 • 243 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 1 关注
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 415 关注
  • Hibernate

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

    39 引用 • 103 回帖 • 687 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 500 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    51 引用 • 190 回帖 • 3 关注
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    205 引用 • 357 回帖
  • 996
    13 引用 • 200 回帖 • 1 关注
  • BookxNote

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

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

    1 引用 • 1 回帖 • 4 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 3 关注
  • Solidity

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

    3 引用 • 18 回帖 • 354 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1083 引用 • 3461 回帖 • 281 关注
  • Ant-Design

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

    17 引用 • 23 回帖