sublime text 4 唯一可用终端插件是 terminus,terminal 插件因 sublime_api 移除已彻底失效;必须通过 package control 安装,配置 cwd 为 "${file_path:${folder}}" 并启用 "shell": "login" 以继承环境变量。

Sublime Text 本身没有终端,Ctrl+` 打开的是 Python 控制台,不是系统 shell —— 它不认 git、python main.py,也不加载你的 .zshrc 或虚拟环境。真正在编辑器里跑命令行,必须装 Terminus。
为什么 Terminal 插件在 ST4 上完全不能用
不是你配置错了,是它底层调用的 sublime_api 模块已在 Sublime Text 4 中移除。强行安装会报 ImportError: No module named 'sublime_api',或导致菜单灰显、快捷键失灵、面板无响应。别找兼容补丁,直接换 Terminus —— 它是当前唯一持续维护、支持多标签、会话复用、工作目录同步的方案。
安装 Terminus 必须走 Package Control,且只认 wbond 版本
手动下载 ZIP、git clone 到 Packages/ 目录会导致依赖缺失、JSON 解析失败、权限异常等问题。正确流程只有这一条:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入
Package Control: Install Package并回车 - 等列表加载完后,搜
Terminus(注意拼写,不是Terminal、SublimeTerminal,也不带 “fork” 字样) - 点它安装,完成即生效
如果命令面板里压根没出现 Package Control: Install Package,说明 Package Control 没装成功;验证方式是执行 Package Control: List Packages,应返回空列表且左下角提示 “Fetching list of available packages”。
快捷键和工作目录配置不当,等于白装
Terminus 默认不绑定任何快捷键。Ctrl+Shift+T 是新建标签页的热键,和终端冲突;Ctrl+` 不会自动生效,必须手动配。进 Preferences → Key Bindings,在右侧「用户配置」区加这条:
[{"keys": ["ctrl+`"], "command": "terminus_open", "args": {"cwd": "${file_path:${folder}}"}}]
这个 ${file_path:${folder}} 很关键:
- 有已保存的文件时,终端自动
cd到该文件所在目录 - 没保存的文件或没打开文件时,fallback 到项目根目录(
${folder}) - 千万别写成
"cwd": "$file_path"—— 未保存文件时值为空字符串,终端可能掉进/根目录,rm -rf *就不是闹着玩的了
Windows 用户若用 git-bash,shell_configs 里必须填绝对路径,比如 "C:\Program Files\Git\bin\bash.exe"(反斜杠要双写),不能只写 bash。
环境变量不继承?别硬改 PATH,用 login shell
Sublime 启动时读取的环境变量是静态快照,不会自动 source ~/.zshrc 或加载 nvm、pyenv。你在 iTerm 里能跑的 node、pnpm,在 Terminus 里常报 command not found。
最稳解法:进 Preferences → Package Settings → Terminus → Settings,加一行:
"shell": "login"
这会让 shell 以登录模式启动,自动加载 ~/.zshrc 或 ~/.bash_profile。macOS 若打不开,先检查 /bin/zsh 是否在系统 $PATH 里;Linux 报 exec: "sh": executable file not found in $PATH,说明系统环境坏了,不是插件问题。
真正容易被忽略的点是:Terminus 启动那一刻的环境变量就锁死了,后续改 .zshrc 不会自动生效 —— 每次改完 shell 配置,都得重启 Sublime 才能刷新。











