在 PhpStorm 的终端(Terminal)里发现 Esc 键没反应,通常是因为该按键被 IDE 默认配置为了"切换焦点"或者被某些插件(如 IdeaVim)拦截了。
你可以通过以下几个步骤快速修复:
1. 修改终端设置 (最常见解决方法)
PhpStorm 默认可能会让 Esc 键执行"返回编辑器"的操作,而不是把按键发送给终端程序。
-
打开 Settings (Windows/Linux:
Ctrl+Alt+S| macOS:Cmd+,)。 -
导航至 Tools -> Terminal。
-
勾选 Override IDE shortcuts(覆盖 IDE 快捷键)。
注意: 开启此选项后,终端将优先捕获按键,这样
Esc就能正常传递给终端内的程序(比如 Vim 或热重载工具)。
2. 检查 Vim 插件冲突
如果你安装了 IdeaVim 插件,它经常会接管 Esc 键。
-
在编辑器右下角的任务栏中找到 Vim 图标。
-
点击图标,检查是否有类似 "Hotkey Handler" 的设置。
-
或者在
Settings->Editor->Vim Executable中,确保终端没有被强制应用 Vim 模式。 -
临时方案: 尝试使用
Ctrl + [替代Esc键,这在大多数类 Unix 终端中是通用的。
3. 检查 Keymap 快捷键冲突
如果上述方法无效,可能是 Esc 在全局快捷键中被占用了。
-
去 Settings -> Keymap。
-
点击搜索框旁边的"按键过滤"图标(像个小键盘)。
-
按下
Esc键,查看它绑定了哪些功能。 -
如果发现 Plug-ins -> Terminal 下有冲突项,可以右键将其删除或更改。
4. 终端焦点问题 (Switch Focus)
有时候 Esc 仅仅是把焦点从终端移回了代码区。
- 如果你希望
Esc只在终端内部起作用,请确保在 Settings -> Appearance & Behavior -> Keymap 中,搜索 "Focus Editor" ,看看是否绑定了Esc。如果是,可以考虑移除它。

移除switch focus to editor 这个隐藏的很深,否则使用cluade 或者 gemini cli 时都无法使用esc退出很麻烦
