Sublime Text 多列布局可通过菜单 View → Layout 选择 Columns 或 Grid 预设,或用快捷键 Ctrl+Alt+1~4(Mac 为 Cmd+Alt+1~4)快速切换;拖拽标签页可跨列移动文件,自定义非对称布局需手动修改 settings 文件中的 layout JSON 配置。

如何用菜单快速设置 Sublime Text 的多列布局
Sublime Text 默认是单列编辑,要分屏必须显式切换布局。最直接的方式是通过顶部菜单 View → Layout 展开后选择预设结构,比如 Columns: 2 就会把当前窗口均分为左右两列,光标所在文件自动保留在左列,右列为空白标签页。
常见误操作是点错成 View → Groups(那是旧版术语,新版本已统一为 Layout),或者在未保存文件时切布局导致右列丢失内容——其实不会丢,只是新列默认不显示已有文件,需手动拖入或用 Ctrl+Shift+P 调出命令面板输入 Move File to Group 搬过去。
-
Columns: 3是三等分,适合对比三个文件;Grid: 2x2是四宫格,但注意它会强制重排所有已打开的标签页,可能打乱你原本的排列顺序 - Mac 用户快捷键是
Cmd+Alt+1/2/3/4,Windows/Linux 是Ctrl+Alt+1/2/3/4,对应 1 列到 4 宫格,比菜单快得多 - 如果选了
Columns: 2后发现右列没反应,大概率是因为当前只有一个标签页且未启用「允许多组同时编辑同一文件」——这不是 bug,是设计:Sublime 默认每组只显示一个文件实例
如何把已有文件拖进另一列(Group)
鼠标拖拽是最直观的方式:按住一个标签页的标题栏,向目标列顶部区域(出现蓝色高亮条时)拖入即可。但要注意两个细节:
- 拖的时候不能松手过早,必须等到目标列顶部出现明确的「插入提示线」才释放,否则文件会回到原列甚至关闭
- 如果目标列已有文件,拖入后原列该文件标签页不会自动关闭,得手动关掉,否则会出现两个相同文件在不同列里被独立编辑的情况
- 命令行方式更可控:
Ctrl+Shift+P输入Move File to Group,再选目标列编号(从 0 开始),适合键盘党或批量操作
为什么改了布局后快捷键失效或光标跳错列
这不是插件冲突,而是 Sublime 的焦点(focus)机制在多列下有隐式行为:每次切换列时,焦点会默认落在该列最右侧的标签页上。如果你刚把文件 A 拖到右列,但左列还有文件 B 正在编辑,此时按 Ctrl+S 保存的仍是 B,而不是你眼睛看到的 A。
- 确认当前焦点列的方法:看状态栏左下角是否显示
Group: 0或Group: 1;没显示就说明焦点不在当前可见列,需先点击任意标签页激活 - 快捷键如
Ctrl+Tab(切换标签页)默认只在当前列内循环,不会跨列跳转;想全局切换要用Ctrl+Alt+Tab - 某些插件(比如
SideBarEnhancements)右键菜单里的「Open in Group」选项,实际调用的就是move_to_group命令,本质和拖拽一致
自定义非对称布局(比如 70%/30% 分屏)
Sublime 原生不支持拖动分割线调节比例,所有 Layout 都是固定网格。但可以通过修改配置实现非对称:
{
"layout": {
"cols": [0.0, 0.7, 1.0],
"rows": [0.0, 1.0],
"cells": [[0, 0, 1, 1], [1, 0, 2, 1]]
}
}
这段 JSON 表示两列,左列占 70%,右列占 30%。cols 数组定义垂直分割位置(0.0 到 1.0),cells 定义每个 Group 的坐标范围。把它粘贴进 Preferences → Settings – User 文件里,重启生效。
关键限制:这个配置只影响新窗口,已有窗口需执行 Ctrl+Shift+P → Set Layout 才能刷新;而且一旦用了自定义 layout,菜单里的 Columns: 2 等选项就不再覆盖它——除非你删掉这段配置再重启。
真正容易被忽略的是:cols 和 rows 的数值必须严格递增且首尾为 0.0 和 1.0,中间值写成 0.699 或 0.701 都会导致布局崩溃回退到单列。










