sublime text无真正平滑滚动动画,“视觉更舒适”依赖smooth_scroll、animate_inert_panning、animation_enabled和hardware_acceleration四者协同;smooth_scroll仅作用于ctrl+g等命令跳转,非插值动画,对鼠标滚轮等完全无效;animate_inert_panning需配合animation_enabled才生效,仅支持滚动条拖拽松手和触控板滑动松手场景。

Sublime Text 没有真正意义上的平滑滚动动画,所谓“视觉更舒适”是四个独立配置协同作用的结果:开错一个,反而更卡;全开对也不等于 VS Code 那种 editor.smoothScrolling。
为什么 smooth_scroll 开了也没用?
它只影响命令触发的视图位移,比如 Ctrl+G 跳行、PageDown、方向键,本质是把一次滚动拆成几帧计算,不是插值动画。对鼠标滚轮、触控板滑动、滚动条拖拽完全无效。
-
smooth_scroll必须写成布尔值:"smooth_scroll": true,写成"true"(带引号)会静默忽略 - 项目级
.sublime-project文件中若写了"smooth_scroll": false,会直接覆盖用户设置 - 低端显卡或插件过多时,该效果可能降级为瞬时跳变,无任何提示
-
"editor.smoothScrolling": true是 VS Code 的字段,Sublime 完全不认识,写了等于白写
怎么让滚动条拖拽后“滑出去”?
这是 Sublime 唯一提供物理惯性反馈的行为,仅作用于两个场景:按住滚动条拖拽后松手、触控板快速滑动后松手。
- 必须同时启用:
"animate_inert_panning": true和"animation_enabled": true,缺一不可 -
"animate_inert_panning"值只能是布尔值,设成"true"(字符串)会被解析失败,静默忽略 - 推荐搭配:
"hardware_acceleration": "opengl",尤其 Intel 核显用户能明显改善帧率 - 中键拖拽(
drag_scroll)也走这条管线,所以该设置对中键松手滑行同样生效
鼠标滚轮还是生硬?别调 Sublime 设置
Sublime 不接管鼠标滚轮事件——它只响应系统投递的“滚动 N 行”指令,不做插帧、不缓动。所谓“调速”,实际在操作系统层。
- Windows:设置 → 设备 → 鼠标 → “一次滚动的行数”(建议 1–2 行)
- macOS:系统设置 → 鼠标 → “滚动速度”滑块向右拉高灵敏度
- Linux:用
xinput或桌面环境鼠标设置调整 - 外设驱动(如 Logitech G HUB)可能劫持滚轮事件,导致 Sublime 收不到原始信号,需关闭“超速滚动”等增强功能
想每次滚动都让光标居中?原生做不到
"follow_cursor": true 只在光标位置变化时生效(如 Ctrl+G),不响应手动滚动。你拖滚动条、滚轮、PageDown,光标都会“掉出”视口顶部。
- 原生无“滚动即居中”机制,因为 Sublime 的滚动和光标定位是两套独立逻辑
- 真需求请装
scrolltocenter插件(ST4 全支持,ST3 用旧版) - 别试
"scroll_to_cursor": true—— 这是 VS Code 字段,Sublime 解析失败后直接跳过整行 - 修改
Default (YourPlatform).sublime-mousemap绑定scroll_lines可微调滚轮步长,但无法触发居中
最容易被忽略的点是:所有动画类设置(animate_inert_panning、caret_style、smooth_scroll)都依赖 "animation_enabled": true。关掉它,其他全失效,且不会报错、不提示、不警告——你只会觉得“怎么设了都没反应”。











