macOS 原生支持使用 ⌘+` 快捷键,以毫秒级速度切换同一应用内未最小化的多个窗口。操作前需先确认目标应用已获得焦点;如果快捷键失效,可尝试先按 ⌘+Tab 再重新触发,或使用调度中心、AppleScript 等替代方案。

如果你在 Safari、Finder 或 VS Code 中同时打开了 3 个窗口,却还在反复用鼠标逐个点击查找,光定位窗口标题栏就可能浪费几秒钟。其实,macOS 自带同一软件多窗口快速切换功能,能够高效完成窗口轮换。很多人之所以觉得不好用,并不是快捷键按错了,而是没有先激活正确的应用上下文。
用快捷键在同个 App 的多个窗口间循环切换
第一步:先确认当前焦点仍停留在目标应用内(例如你正在 Safari 的某个页面中浏览,或在 Finder、VS Code 的窗口中操作)。【如果窗口已经最小化,或目标应用被其他程序完全遮挡,⌘+` 通常会失效】
第二步:按下 ⌘ + `(反引号键,位于 Tab 键正上方,建议在英文输入法状态下操作)。每按一次,系统就会在该应用所有未最小化的窗口之间依次循环切换。
这个操作本身并不复杂,直接按下组合键即可。不过有一个常见细节需要注意:部分 Electron 应用,例如旧版本 Slack,或某些 VS Code 插件弹窗,可能没有正确接入 macOS 的 NSWindow 窗口管理机制,因此即使按下 ⌘+` 也没有任何反应。遇到这种情况,不必先怀疑键盘故障,问题往往出在应用自身对多窗口切换支持不完整。
当 ⌘+` 失效时的替代方案
方法一:先使用 ⌘+Tab 切换并激活目标应用,松开按键后再立即单独按一次 ⌘+`。很多用户容易卡在这里——以为通过 ⌘+Tab 切到应用就已经完成,实际上必须等应用真正成为前台焦点(例如菜单栏切换完成、输入光标恢复闪烁)后,再执行窗口切换快捷键。
方法二:打开调度中心 → 找到目标应用对应的一排窗口 → 使用鼠标或触控板点选任意一个窗口。调度中心可通过 Control + ↑ 调出,也可以使用触控板四指上滑手势(通常适用于非全屏窗口场景)。
方法三:通过 AppleScript 绕过系统层面的限制。打开“脚本编辑器”,粘贴以下代码并保存为应用:
tell application "System Events"
tell process "Safari"
set frontmost to true
key code 50 using command down
end tell
end tell
⚠️ 需要提前说明:这段脚本当前仅适用于 Safari;如果你想切换其他应用,需要将 "Safari" 替换为对应应用的 Bundle ID(例如 Finder 对应 "com.apple.finder")。此外,不要忘记前往“系统设置→隐私与安全性→自动化”,为该脚本授予控制目标应用的权限,否则脚本可能无法正常执行。
让切换更稳的系统级设置检查
① 打开“系统设置→键盘→键盘快捷键→键盘”,确认已启用“将键盘快捷键用于:移动焦点到下一个窗口”。【如果这里未开启,⌘+` 快捷键通常会完全失效】
② 尽量避免将触控板四指左右滑动与窗口切换混为一谈——这个手势默认用于切换桌面空间,而不是切换同一应用的多个窗口,实际使用中很容易造成误解。
③ 对于长期驻留后台但窗口已经最小化的应用(例如某些音乐播放器),⌘+` 一般不会生效。正确做法是先通过 ⌘+Tab 将应用切到前台,再继续使用 ⌘+` 进行窗口切换。
