sublime text实现打字机模式需二选一:scroll_to_center命令手动居中,或typewriter插件自动居中;二者机制冲突不可共存,follow_cursor和scroll_to_cursor无效。

Sublime Text 本身没有“打字机滚动模式”开关,要让当前行始终居中,必须用 scroll_to_center 命令手动触发,或装 Typewriter 插件实现自动居中——两者机制冲突,不能共存。
为什么直接设 follow_cursor 或 scroll_to_cursor 没用?
这两个设置常被误认为能解决打字机效果,但实际作用完全不同:
-
follow_cursor只在光标“跳转”(如 Ctrl+G、Ctrl+P)时滚动使光标可见,不响应普通输入、方向键或滚轮 -
scroll_to_cursor是个命令,不是配置项;写进 Settings 文件里"scroll_to_cursor": true完全无效,JSON 解析会静默忽略 - 鼠标滚轮、触控板滑动、PageDown 等操作属于“视口滚动”,Sublime 默认不联动光标位置——这是设计,不是 bug
用 Typewriter 插件开启自动居中(推荐写作场景)
这是目前最接近“真打字机”的方案:光标一动,当前行立刻滑到指定垂直位置。
- 必须通过 Package Control 安装:
Ctrl+Shift+P→Install Package→ 搜Typewriter - 安装后默认不启用,需再执行一次
Ctrl+Shift+P→Typewriter: Toggle - 快捷键建议加到用户键位文件(右侧):
{"keys": ["ctrl+alt+t"], "command": "typewriter_toggle"} - 关键配置
vertical_centering推荐设为0.4(不是0.5),留出上方空间看上下文 - 若发现大文件(如日志)中轻微卡顿,可临时禁用插件,它监听的是
on_selection_modified,开销不可忽略
用内置 scroll_to_center 命令手动居中(轻量无依赖)
适合不装插件、只偶尔需要居中的用户,比如审阅长文档时按一下。
- 默认无快捷键,需在用户键位中添加:
[{"keys": ["ctrl+l"], "command": "scroll_to_center"}] - 若
ctrl+l已被占用(如“选择当前行”),可换alt+c或f7,避免冲突 - 小文件(
- 频繁调用会打断连续导航,例如按
ctrl+down跳函数时,每跳一次都强制居中,反而干扰节奏 - 在只读文件或未保存的临时缓冲区中仍可执行,但可能视觉无变化
为什么不能同时启用两种方式?
它们底层逻辑互斥,混用会导致行为错乱:
-
scroll_to_center是单次、瞬时滚动命令;Typewriter是持续监听 + 平滑滚动 - 开了插件后按
ctrl+l,命令执行完立刻被插件拉回vertical_centering设定的位置(比如0.4),看起来“没反应” - 插件关闭后,
ctrl+l快捷键依然有效,但用户容易误判为“插件坏了”,其实是命令还在工作 -
scroll_speed这类参数对内置命令完全无效,插件和命令之间不共享任何配置
真正容易被忽略的点是:插件是否被 ignored_packages 屏蔽了。如果安装后死活不生效,先检查 Preferences → Settings – User 里有没有这行:"ignored_packages": ["Typewriter"] ——有就删掉,否则插件根本不会加载。











