sublime text 原生不支持双向同步滚动,必须依赖插件实现;scroll_sync 仅对同一文件的多个视图生效,无法跨文件或跨窗口同步;compare side-by-side 是唯一开箱即用的跨文件方案,基于行内容相似度动态对齐;syncedscroll 插件可像素级同步但条件苛刻,需同窗口同 group、显式启用且 word_wrap 状态一致。

Sublime Text 原生不支持双向同步滚动,所谓“双向同步”必须依赖插件实现,且仅对特定视图结构生效——不是开关没开对,是底层根本不允许跨文件、跨窗口的滚动绑定。
为什么 scroll_sync 对两个不同文件完全无效
很多人在用户设置里加了 "scroll_sync": true,然后把 a.py 和 b.py 拖进左右栏,结果滚动毫无反应。这不是配置漏了,是 Sublime 的设计限制:scroll_sync 只作用于同一文件的多个视图(比如用 New View into File 生成的副本),它不读取内容、不比对行语义、也不跨 buffer 监听事件。
- 两个独立文件标签页,哪怕内容一模一样,也属于不同 buffer,
scroll_sync不监听 - 其中一侧设为只读(如 diff 插件生成的面板)或启用
word_wrap而另一侧未开,会导致行高计算偏差,视觉错位 - Sublime Text 4 默认关闭
scroll_sync,且不会继承默认值,必须显式写入用户设置才生效
Compare Side-by-Side 是唯一开箱即用的跨文件方案
它不是模拟同步,而是基于行内容相似度动态对齐:跳过空行、忽略缩进差异、识别逻辑行偏移,适合代码和配置文件对比。
- 安装后无需重启,命令面板输入
Compare Side-by-Side或右键标签页选Compare Files即可启动 - 默认开启同步滚动:任一窗格滚动时,另一窗格自动匹配逻辑行(非物理行号)
- 差异块左侧有箭头图标,点一下就能把改动复制到对面,不用手动选中粘贴
- 若想临时禁用同步,执行
View → Scroll → Sync Scroll取消勾选即可
SyncedScroll 插件能做像素级跟随,但条件极苛刻
它是目前唯一尝试滚动条像素级同步的插件,但极易静默失效,不是装完就工作。
- 只对同一窗口内、不同 group 的两个已独立打开的文件标签页生效(不是
New View into File生成的视图) - 必须手动开启:右键编辑区 →
Scroll Sync: Toggle(默认关闭) - 跨文件同步需在插件设置中显式启用
"sync_across_files": true,否则只同步同文件多视图 - 两栏
word_wrap状态必须一致(都开或都关),否则行高计算偏差导致视觉错位 - 文件大于 5MB 时,Sublime 会自动限流,插件停止监听滚动事件,无任何报错
真正容易被忽略的是视图归属关系:所有“同步”行为都严格限定在同一窗口、同一 group 内;拖文件进新窗口、双击重复打开、用 Clone File 都无法满足联动前提。一旦误操作,看起来像同步失败,其实是根本没进入绑定路径。











