For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /changelog/smooth-scroll.md.
  • 简体中文
  • 滚轮平滑滚动与滚动手感优化

    • 日期:2026-07-17
    • 提交feat(tui): 滚轮平滑滚动与滚动手感系统性优化
    • 版本0.11.1-alpha.6

    主文档鼠标滚轮滚动从固定跳行改为可配置的平滑滚动机制。

    主要变化

    1. 按档位控制滑动效果
      默认档位为 "smooth":滚轮输入会累积,以约 8ms 每帧的节奏逐步推进,滚动手感更顺滑,而非生硬的逐格跳转。
    2. 快速滚动带加速度,但有上限
      快速连续滚动时会自动加速度,每个档位都设置了上限。方向反转或静止一段时间后,加速度会重置,避免惯性失控。
    3. 边界处理更干净
      到达顶部/底部、吸附、触底或空文档时,会清空滚动累积值。手动滚动到底部后,会自动恢复贴底跟随(鼠标拖选时除外,避免影响选区操作)。
    4. 全屏覆盖时暂停滚动动画
      打开覆盖主文档的全屏模态框后,平滑滚动会暂停;关闭覆盖层后,不会因为后台已完成动画导致视口位置偏移。
    5. PageUp / PageDown 保持瞬时跳转
      键盘翻页仍使用瞬时跳转,与滚轮动画分开处理:翻页追求效率,滚轮追求手感。

    配置方式

    config.toml[tui] 段中配置:

    # off / snappy / fast / smooth / gentle / glide
    # 默认值: smooth
    scroll_animation = "smooth"
    取值手感说明
    off关闭平滑滚动,固定约 3 行/次瞬时跳转,无加速度
    snappy接近瞬时,仅对大跨度滚动做柔化处理
    fast动画收敛快,动画效果弱
    smooth默认均衡档位
    gentle滑动距离更长
    glide滑动距离最长

    补充说明:

    • motion = "reduced" 时,无论 scroll_animation 如何配置,都强制使用瞬时滚动。
    • 配置不认识的档位名称会直接报配置错误,不会静默回退。

    本次更新同时优化了一个细节:滚动动画过程中沿滚动方向扩展 transcript 估算窗口,避免行数估算误差在动画中被放大为视口跳动。更多细节见 config.toml · scroll_animation快捷键 · 鼠标滚轮