sublime 的多终端协同需依赖 terminus 插件手动配置:通过分屏命令开启多个独立终端视图,正确设置 shell 和 env 以加载 path,命名面板实现聚焦跳转,wsl 用户须显式指定 wsl.exe 路径。

Sublime 本身没有原生多终端支持,所谓“协同”和“无缝联动”,全靠 Terminus 插件 + 手动布局 + 环境变量补全来实现——不是开个插件就自动好用,漏配一步,python、node、git 全部报 command not found。
Terminus 怎么开多个终端视图(不是标签页)
Terminus 不提供 VS Code 那种「一个面板里点+号加标签」的体验,它的“多终端”是多个独立 View,必须靠 Sublime 的分屏或新窗口承载:
- 按
Ctrl+Alt+2(Windows/Linux)或Cmd+Alt+2(macOS)切左右双栏,再分别在左右栏执行Terminus: Open Default Shell in Panel - 想三栏并排?用命令面板输入
Layout: Columns 3,然后依次在每栏聚焦后运行一次Terminus: Open Default Shell in Panel - 每个视图工作目录(
cwd)默认跟随当前焦点文件;右栏没打开任何文件时,会 fallback 到项目根目录或用户主目录——提前在对应栏打开一个目标文件,能避免路径错乱 - 已存在的终端视图不会热更新:改了
Terminus设置后,得关掉重开,不是刷新一下就行
为什么终端里 python / node 找不到命令
这不是 Terminus 的 bug,是 Sublime 启动时没加载 shell 的 profile 文件(比如 ~/.zshrc、~/.bash_profile 或 Windows 的 $PROFILE),导致 PATH 为空或残缺:
- macOS/Linux 用户:进
Preferences → Package Settings → Terminus → Settings,加这两行:"shell": "login",<br>"env": {"PATH": "$PATH"} - Windows WSL 或 git-bash 用户:必须填完整路径,比如
"shell": "C:\Program Files\Git\bin\bash.exe";只写bash或sh会失败 - PowerShell 用户:设
"login_shell": true,并在启动命令里加-ExecutionPolicy Bypass避免策略拦截 - 临时救急:在终端里手动运行
source ~/.zshrc(macOS/Linux)或. $PROFILE(PowerShell),但每次新开终端都得重复
怎么快速聚焦到指定终端(类似 VS Code 的 Ctrl+` 切换)
Terminus 没有内置快捷键切换标签,但可以靠「命名 + 命令面板」实现精准跳转:
- 打开第一个终端后,用命令面板执行
Terminus: Rename Panel,起名如dev-server、git-cli、build - 之后要切过去,按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Terminus: Focus Panel,再选名字 - 名字不支持空格或特殊字符,建议用短横线分隔,比如
py-test而不是Python Test - 如果多个终端同名,
Focus Panel会列出全部,选错一个就得手动关掉重来
和 WSL / 外部终端怎么真正联动
别指望 Terminus 自动识别 WSL 环境——它跑在 Windows 进程里,除非显式配置,否则默认调用的是 cmd 或 PowerShell:
- WSL 用户:必须把
shell设为 WSL 发行版路径,例如"shell": "wsl.exe -d Ubuntu-22.04"(发行版名用wsl -l查) - 想让 Sublime 内部构建系统调用 WSL 命令?得在
Tools → Build System → New Build System里写"cmd": ["wsl.exe", "-e", "make"],不能直接写make - 更轻量的替代方案:装
Terminal插件(作者 wbond),它不嵌入终端,而是调用系统终端,默认进入当前文件目录——对 WSL 用户,可自定义命令为["wsl.exe", "-e", "bash", "-i"] - 注意:
wsl$路径在 Terminus 里不可直接访问,文件操作必须走 WSL 内部路径(如/home/xxx/project),否则权限或符号链接会出问题
最常被忽略的一点:Terminus 的「终端」本质是 Sublime 的一个 View,它不继承系统级 shell 环境变量,也不自动读取你的 ~/.profile。哪怕你 zshrc 里写了 20 行 PATH,没在 Terminus 设置里显式声明 "shell": "login" 和 "env",它就当没这回事。这不是配置遗漏,是设计如此。











