sublime 默认禁止同名文件多开,需设 "open_files_in_new_window": true 或用 subl -n 命令实现;其判断依据是完整路径而非文件名,右键菜单添加“用 sublime 打开”为折中方案。

Sublime 默认禁止同名文件多开,必须改配置或加命令行参数才能实现在新窗口打开文件。
怎么让双击/拖入文件时自动新建窗口
这是最常被误以为“没生效”的设置。Sublime 的 open_files_in_new_window 配置项控制所有外部触发的打开行为(比如资源管理器双击、拖拽进窗口、右键菜单打开),设为 true 后,每次都会弹新窗口,而非复用当前标签页。
- 打开
Preferences → Settings – User,在右侧用户设置中添加:"open_files_in_new_window": true - 保存后,已打开的窗口不会自动分裂;需关闭再重新双击或拖入文件才生效
- 副作用明显:桌面快捷方式双击也会弹新窗口——如果你只希望特定场景多开,这个方案太粗暴
- 注意 JSON 格式:逗号不能少,引号必须是英文双引号,别写成
"open_files_in_new_window": True(大小写敏感)
命令行 subl -n 是更准、更轻量的解法
不改全局配置,也能临时、精准地新开窗口。命令行参数 -n(new window)优先级高于配置文件,且只作用于当次调用。
- 终端执行:
subl -n src/index.js和subl -n test/index.js,会得到两个独立窗口,各自显示同名但不同路径的文件 -
-n跨平台有效:macOS/Linux 用subl,Windows 用subl.exe,都支持 - 若提示
command not found,先运行 Sublime 的Tools → Command Palette,输入并执行Shell Commands: Install Sublime Command Line - 适合写脚本、IDE 插件集成、或 Git GUI 工具调用时强制隔离上下文
为什么同名文件总被“合并”?不是 bug,是路径判断逻辑
Sublime 判断文件唯一性靠的是完整路径,不是文件名。当你从资源管理器拖入两个 index.js,它会自动 resolve 路径,如果路径相同就切到已有标签页;如果路径不同但你没看到全路径,就会误以为“被合并”了。
- 右键标签页 → 勾选
Show Full Path in Tab,能立刻看清当前文件真实位置 -
hot_exit、remember_open_files、allow_pane_splitting这些配置跟多开无关,改了也没用 - 别信网上说的“删缓存”“重装插件”,核心就是路径识别 + 窗口策略,没别的层
右键菜单加“用 Sublime 打开”比改默认更实用
不想让所有 .log 或 .conf 都默认用 Sublime,又怕双击错开成记事本?加右键菜单是最稳的折中方案。
- 新建
.reg文件,填入注册表脚本,把两处C:Program FilesSublime Textsublime_text.exe换成你的真实路径(注意双反斜杠\) - 导入后若右键没出现,任务管理器里重启
Windows 资源管理器进程即可 - 这个操作不改动系统默认关联,也不影响其他程序,纯属“按需调用”
- 对文件夹也生效——比如右键整个
src/目录,直接在新窗口打开整个项目
真正卡住人的从来不是“怎么设”,而是没意识到 Sublime 的文件识别完全依赖路径字符串,且外部打开行为和内部标签页管理是两套逻辑。改配置 or 加 -n or 加右键,选哪个取决于你是否愿意接受“所有双击都弹新窗”这个副作用。











