custom layouts插件非原生分屏必需,反因与set_layout冲突且无法处理主屏坐标系下的绝对定位而失效;双显示器窗口定位须手动计算x/y值、用--new-instance启动、单独配置并完全重启生效。

Custom Layouts 插件不是 Sublime Text 原生分屏的必要条件,反而大概率是问题源头——它已被证实与 set_layout 命令冲突,且无法解决双显示器窗口定位这类底层坐标问题。
为什么 Custom Layouts 在双显示器上基本失效
Sublime 的窗口位置由操作系统管理,Window.sublime-settings 中的 "x" 和 "y" 是**主屏坐标系下的绝对像素值**,不是“副屏左上角偏移”。插件无法绕过这个限制:
• Custom Layouts 生成的 JSON 配置只控制视图区域(cols/rows/cells),不干预窗口在屏幕上的物理位置
• 它不监听多显示器热插拔事件,副屏断开重连后配置不会自动重算
• 多实例下(比如你开了两个 Sublime 窗口),它无法区分哪个窗口该套用哪套坐标,容易写错 "x" 值导致窗口飞到屏幕外
真正能落地的双显示器窗口定位操作
必须手动计算并写死坐标,且每次换显示器排列都要重算:
• 主屏分辨率 2560x1440,副屏在右侧、1920x1080,你想让 Sublime 窗口左上角落在副屏正中(x=960, y=540)→ 实际填 "x": 2560 + 960 - (窗口宽度 / 2),"y": 540
• 修改前确认已用 --new-instance 启动 Sublime,否则改的是全局配置
• 每个窗口单独编辑其 Window.sublime-settings,路径形如 ~/Library/Application Support/Sublime Text/Packages/User/Window.sublime-settings(macOS)或 %APPDATA%\Sublime Text\Packages\User\Window.sublime-settings(Windows)
• 改完必须**完全退出 Sublime 再重启**,热重载不刷新窗口位置
分屏布局本身别依赖插件
原生 set_layout 命令足够稳定,Custom Layouts 反而会劫持快捷键、干扰 Move to Group:
• 直接用 Ctrl+Alt+2(Win/Linux)或 Cmd+Alt+2(macOS)切双栏,这是最可靠的入口
• 拖文件进右栏失败?先按 Ctrl+2 确保焦点在 Group 1,再拖到顶部边缘等蓝色实线出现才松手
• 要非等宽比例(比如左栏 70% 写代码,右栏 30% 看文档),运行命令面板输入 set_layout,填:
{"cols": [0.0, 0.7, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [0, 1, 1, 2]]}
•
cols 数组长度决定列数,cells 的索引顺序不能颠倒,错一位就变成空白面板同一文件双栏联动编辑的唯一正确路径
想左边看定义、右边看调用并实时同步?Clone File 或直接拖标签都是错的:
• 右键已打开的标签页 → New View into File(不是 Clone File)
• 把新视图拖进右栏(出现虚线框时松手),确认两个标签页右上角都显示 ● 且路径完全一致
• 此时光标、折叠、滚动全部独立,但内容修改实时同步——这是 Sublime 唯一保证 buffer 共享的方式
• auto_center 设置可辅助视觉对齐,但它只是让光标行居中,不改变底层机制
双显示器 + Sublime 的核心矛盾不在“怎么分”,而在“窗口在哪”——坐标系换算、实例隔离、配置重载这三步漏掉任何一环,所有花哨布局都会回归单屏。











