sublime text 不支持真正实时协同编辑,因其插件 api 不暴露按键监听、不支持操作拦截与重放,也无运行时服务端能力,所有标榜“实时协作”的插件实为本地轮询或 git 包装,易导致覆盖冲突。

Sublime Text 本身不支持真正实时协同编辑
直接说结论:Sublime Text 没法像 VS Code + Live Share 那样实现光标同步、操作广播、自动冲突合并的实时协作。它的插件 API 不暴露 on_keypress、不支持拦截和重放编辑操作,也没有运行时服务端能力——这意味着所有叫“Live Share”“Collaboration”“OT Sync”的插件,要么是名字蹭热点,要么只做本地文件轮询或 Git 界面包装。
常见错误现象包括:两人同时改同一行,后保存者直接覆盖前者的修改;用 SFTP 挂远程路径,但没文件锁,fsync 不保证原子写入;插件显示“已连接”,但光标不动、输入无响应。
- 所谓“实时”,在 Sublime 生态里基本是伪命题
- 它强在本地响应快、内存占用低,不是为在线协同设计的
- 硬套协作需求,大概率换来的是覆盖冲突 + 调试时间 > 编码时间
Floobits 是唯一曾接近可用的方案(但已停服)
Floobits 插件在 2024 年前确实能跑通 Sublime Text 的实时协作链路:用户操作被序列化为 insert/delete 操作,经 Floobits 服务端做 OT 转换后广播给其他客户端。它支持跨平台、多光标、终端共享,甚至带语音通话。
但关键问题是:Floobits 服务已于 2025 年底正式关闭,官方仓库归档,floobits.com 域名已不可访问。你现在装上插件,会卡在登录页或报 Connection refused。
- 安装方式(历史参考):
Package Control: Install Package→ 搜Floobits - 配置文件路径:
~/.floorc.json(现在生成也连不上) - 替代品?没有等效开源后端,ShareDB 或 TogetherJS 无法直接对接该插件协议
如果非要在 Sublime 里做“类协同”,只能退到异步 Git 工作流
这不是实时,是“带状接力”:一人改完 git commit,另一人 git pull,靠 git merge 或 rebase 解冲突。Sublime 可以通过插件辅助这个过程,但不能绕过 Git 本身。
推荐组合:
-
GitSavvy:提供完整的 Git 图形界面,支持暂存/提交/推送/拉取,还能看 diff 和 blame -
SideBarEnhancements:右键菜单加Git: Commit、Git: Pull,省去切终端 - 配合
.gitattributes设置*.py merge=ours等策略,降低合并冲突概率
注意:不要依赖 SynCText 或 SyncedSideBar 类插件——它们只是镜像侧边栏或同步本地副本,不是协作,反而容易让你误以为“已同步”而跳过 pull。
真要实时协同,得换工具链,Sublime 只能当备用编辑器
如果你的团队已决定用实时协作,Sublime 就不该出现在主协作链路上。可行路径只有一条:把编辑行为迁移到有服务端能力的环境,Sublime 降级为轻量查看/补丁工具。
- 用
code-server或GitHub Codespaces启一个 VS Code 实例,所有人浏览器访问同一地址,用 Live Share 开会 - Sublime 通过
sshfs或NFS挂载同一远程目录,只读打开文件,或仅用于快速改配置、查日志 - 绝对不要让多人同时用 Sublime 写同一个文件——没有锁机制,
write()调用不排队,覆盖就是一瞬间的事
最常被忽略的一点:实时协作的本质不是“谁在用什么编辑器”,而是“谁在管状态同步”。Sublime 没这个“管”的能力,硬加插件,等于在自行车上焊火箭发动机——装得再像,也飞不起来。











