在 Mac 上 Cmd-Tab 无法在窗口之间切换

为什么会这样、局部的变通办法,以及真正的解决之道。

你按下 Command-Tab,期待它像 Windows 上的 Alt+Tab 那样逐个在打开的窗口间移动。结果它却在应用之间跳转,而你最小化的窗口从不出现。这并不是缺陷。在 macOS 上,Command-Tab 在设计上就是一个应用切换器。这里讲清楚实际发生了什么、那个唯一的内置变通办法,以及如何获得一个能遍历每一个窗口的切换器。

❌ 为什么 Command-Tab 切换应用,而非窗口

macOS 是围绕应用而非单个窗口来组织工作的。Command-Tab 正反映了这一点:它每个运行中的应用只显示一个图标,并在应用之间切换。当你选中某个应用时,macOS 会把它最近的窗口带到前台。如果那个应用只有一个窗口,这感觉就像在切换窗口。如果它有五个,Command-Tab 仍然只显示一个图标,而且无从选择你会切换到这五个中的哪一个。

❌ 为什么最小化和隐藏的窗口不出现

因为 Command-Tab 列出的是应用而非窗口,所以一个被最小化到 Dock 的窗口,或属于某个隐藏应用的窗口,根本不会出现在列表里。选中那个应用往往会让最小化的窗口继续留在 Dock 里,而不是把它还原。所以如果你依赖最小化窗口,Command-Tab 会悄悄跳过的,恰恰是你想要触及的那些。

❌ Command-Backtick 变通办法

macOS 确实有一个局部答案。Command-Backtick(Tab 上方的那个键)在你当前所处应用的窗口之间循环。在同一应用里于两个文档之间来回切换时,它确实有用。但它有局限:它只涵盖最前面的应用、只在当前 Space 上,并且默认会跳过最小化的窗口。它不是通用的窗口切换器。

✅ 解决之道:用 AltTab 切换每一个窗口

AltTab 在 Mac 上于一个个独立窗口之间切换,包括最小化和隐藏的窗口

AltTab 补上了 macOS 缺失的逐窗口切换器。AltTab 是我们的应用:免费、在 GPL-3.0 下开源,并已开发了八年多。按下 Option-Tab,你就会看到每个窗口的实时缩略图排成一行,包括最小化和隐藏的窗口,横跨所有 Spaces 和显示器。按住该键并轻点 Tab 沿着这一行移动,松开即切换。如果你想要完全一致的 Windows 手感,可以把快捷键重新映射为 Command-Tab,这样 Command-Tab 终于会循环窗口而不是应用了。

因为你能看到每个窗口的预览,你无需猜测就能切换到正确的那个。想更深入地把它与内置工具对比,请阅读 AltTab 对比内置窗口切换。关于付费替代方案,参见 AltTab 对比 Contexts 或我们的 Mac 窗口切换器总览

设置 AltTab

  1. 下载 AltTab: 下载 7.8M 次下载
  2. 打开 AltTab。第一次启动时,macOS 会在“系统设置”→“隐私与安全性”中请求“辅助功能”和“屏幕录制”权限。“辅助功能”让 AltTab 能切换窗口;“屏幕录制”让它能显示缩略图。请将两者都授予。
  3. 按下默认快捷键 Option-Tab 以呼出切换器。按住 Option 并轻点 Tab 在窗口间移动,松开即切换。如果你愿意,可以在 AltTab 的设置中将快捷键重新映射为 Command-Tab。

常见问题

在 Mac 上 Command-Tab 为什么不在窗口之间切换?

因为 Command-Tab 是一个应用切换器。它每个应用只显示一个图标,并在应用之间切换,而非单个窗口。要在窗口之间切换,请用 Command-Backtick 切换当前应用,或安装 AltTab 以遍历每一个窗口。

我如何在同一应用的多个窗口间循环?

按 Command-Backtick(Tab 上方的那个键)。它在当前 Space 上循环最前面应用的窗口,但会跳过最小化的窗口。AltTab 会显示它们全部,包括最小化和隐藏的。

我如何用键盘切换到一个最小化的窗口?

Command-Tab 和 Command-Backtick 都会跳过最小化的窗口。AltTab 在它的切换器中包含了最小化和隐藏的窗口,所以你可以用键盘触及它们中的任何一个。

我能让 Command-Tab 显示窗口而不是应用吗?

用内置切换器不行。安装 AltTab 并把它的快捷键重新映射为 Command-Tab;它随后会显示每一个窗口的缩略图,而不是每个应用一个图标。

更多常见问题

AltTab 免费且开源。此外还有 AltTab Pro,面向每个人提供 14 天免费试用。

下载 7.8M 次下载
简体中文