推荐使用Terminus插件一键打开终端:安装后按Ctrl+Shift+P执行“Terminus: Open Default Shell in Panel”,自动进入当前文件目录;未保存文件则回退至项目根或用户主目录。

Sublime 里怎么一键打开当前目录的 CMD/终端
在 Sublime Text 里想快速进入当前文件所在目录执行命令(比如 git status、npm run dev),最直接的方式不是靠外部命令,而是用插件把终端“嵌进编辑器里”——推荐装 Terminus。它比右键菜单更稳定,不依赖系统默认终端是否配置正确,也不受 Windows Defender 或 PowerShell 执行策略干扰。
- 安装:按
Ctrl+Shift+P→ 输入Install Package→ 搜Terminus并安装 - 启动:再按
Ctrl+Shift+P→ 输入Terminus: Open Default Shell in Panel,底部立刻弹出 CMD/PowerShell(Windows)或 Terminal(macOS/Linux) - 路径自动对齐:只要当前标签页已保存(即有真实路径),Terminus 默认就
cd到该文件所在目录;未保存的新建文件则 fallback 到项目根目录或用户主目录
右键菜单里的 Open in Command Prompt 看似方便,但实际常失效:Windows 上若没装 Git Bash 或 Cmder,可能根本没这个选项;即使有,也容易卡在“找不到终端可执行文件”的报错里。
Windows 下 CMD 和 PowerShell 的行为差异必须注意
Terminus 默认调用的是系统默认 shell。Windows 10/11 多数情况下是 PowerShell,但它对某些老脚本(比如批处理 .bat 文件)支持不如 CMD,而 git bash 又不认 dir 这类原生命令。
- 如果你依赖
npm、python、venv等工具,PowerShell 通常更稳妥 - 如果要运行
xxx.bat或需要set环境变量立即生效,得手动切换到 CMD:按Ctrl+Shift+P→Terminus: Open Shell in Panel→ 选cmd.exe - 还可以预设多个 shell 配置,在
Preferences → Package Settings → Terminus → Settings里加自定义项,例如:
{
"shell_configs": [
{
"name": "CMD (current dir)",
"cmd": ["cmd.exe"],
"env": {"chcp": "65001"}
}
]
}
为什么不用 subl . 配合外部终端?
有人习惯在终端里用 subl . 打开项目,再切回终端敲命令——这看似顺滑,但有两个隐形成本:
- 每次都要手动
cd到目标目录,尤其在多层嵌套路径下容易输错 - Sublime 启动后,终端焦点不会自动切回来,容易忘记自己刚敲完什么命令
而 Terminus 把编辑和终端操作压在同一窗口层级,Ctrl+` 切换焦点、Ctrl+Shift+P 快速唤起新 shell、甚至能分屏并排看日志和代码——这才是真正减少上下文切换的方案。
Mac/Linux 用户别漏掉 PATH 继承问题
Terminus 在 macOS/Linux 上默认不会加载你的 ~/.zshrc 或 ~/.bash_profile,导致 subl 命令、node、rbenv 等不可用。
- 解决方法:在 Terminus 设置里启用
"shell_path": "/bin/zsh"(或对应 shell),并加上"env": {"PATH": "$PATH"} - 更彻底的做法:在
~/.zshenv(而非.zshrc)里导出 PATH,因为zshenv是所有 zsh 实例(包括非交互式)都会读取的
最常被忽略的一点:Terminus 启动时的 cwd(当前工作目录)取决于你“最后激活的标签页”,而不是项目文件夹。如果当前标签页是未保存的 untitled,它就会落到 ~/,而不是你期望的 ./src ——此时手动 cd 一次,或先保存文件,是最简单有效的规避方式。










