sublime text不支持多显示器自适应,窗口位置需手动计算以主屏左上角为原点的绝对坐标,且联动仅限同一窗口内的多视图;跨窗口完全隔离,必须用--new-instance启动并单独配置每个窗口的x/y值。

Sublime Text 没有多显示器自适应能力,窗口位置必须手动算绝对坐标,且“联动”只存在于同一窗口内的多视图(Groups),跨窗口完全隔离——别指望开两个窗口就能同步滚动或共享光标。
Window.sublime-settings 的 x/y 是绝对坐标,不是副屏相对坐标
Sublime 不读取系统多显示器布局,x 和 y 始终以主显示器(系统设置中标号为「1」的屏)左上角为原点。副屏上的窗口位置不是填“副屏左上角是 (0, 0)”,而是要换算成主屏坐标系下的像素值。
- 主屏分辨率
2560x1440,副屏紧贴右侧、宽1920,你想让窗口左上角落在副屏水平居中位置:实际x = 2560 + 960 - (窗口宽度 / 2) - 直接填
{"x": 0, "y": 0},窗口一定卡在主屏左上角,哪怕你当前坐在副屏前 - 用截图工具量了副屏坐标就填进去?忘了减去窗口自身宽高偏移,结果一半飞出屏幕
- 切换显示器排列顺序(比如把副屏拖到主屏左边)后,旧配置失效但 Sublime 不报错也不提醒
--new-instance 是窗口位置生效的硬性前提
不加这个参数,改了 Window.sublime-settings 也白搭——Sublime 默认会强行还原上次关闭时的窗口状态,覆盖你写的坐标。
- 必须用命令行启动:
subl --new-instance --settings '{"x": 3200, "y": 100}' - 每个窗口都要单独配,不存在继承或自动适配;开两个窗口,就得写两套
x/y - 改完配置后必须重启 Sublime,热重载不刷新窗口位置
-
--new-instance同时避免多个实例共用同一份Window.sublime-settings导致互相覆盖
分屏 ≠ 多窗口,真联动只靠 New View into File
想让左右栏编辑同一文件并实时响应修改,不能拖文件标签、不能双击打开、不能 Clone File——那些都只是复制 buffer 副本,滚动、光标、折叠全不联动。
- 正确路径:右键已打开的文件标签 →
New View into File(注意不是Clone File) - 新视图默认在当前 Group,先按
Ctrl+2(Win/Linux)或Cmd+2(macOS)激活右栏,再把带[view]后缀的标签页拖进去 - 两个视图右上角都会显示
●修改标记;改一个,另一个立刻变 - 滚动条位置不会自动同步,但设
"auto_center": true后,光标所在行始终居中,配合Ctrl+G跳同一行号,视觉对齐最稳
快捷键失效时,90% 是被外部劫持,不是 Sublime 崩了
Ctrl+Alt+2 没反应?别急着重装,先排查三处:
- 输入法处于中文状态时,
Alt+2常被系统拦截——切回英文再试 - 远程桌面、OBS、火绒等软件常劫持
Ctrl+Alt+数字组合键 - 插件如
Origami会重绑定Ctrl+Alt+2,临时禁用插件后重试 - 稳妥替代:按
Ctrl+Shift+P→ 输入Set Layout→ 选Columns: 2
真正容易被忽略的是 Group 编号从 0 开始,且不随窗格关闭而重排;新开右栏是 Group 1,再开一栏是 Group 2——关掉中间某栏,编号不会收缩,得靠状态栏或 View → Layout 确认当前结构。











