编辑:原来接受的答案对于小牛不再有效。由于历史原因,我一直接受它,但是所有使用Mavericks的读者都应使用并投票赞成该答案。
默认情况下,按⌘+ tab将显示所有打开的应用程序的列表。 我希望该列表仅包括当前空间中的应用程序,或者至少优先考虑当前空间中具有Windows的应用程序。换句话说,我希望OS X能够模仿大多数X窗口管理器相对于其工作区/虚拟桌面的行为。
这是我为什么要这么做的冗长的解释:
我禁用了空格的自动切换功能,并且已将每个空格映射到⌘+ space #快捷方式。通常,我通常每个空间都打开一个应用程序,并使其最大化。由于我实际上只可以随时打开六个左右的应用程序,因此我可以用左手在恒定的时间轻松地在它们之间切换。问题是我有时确实在同一空间中打开了来自不同应用程序的两个或三个窗口(例如,我经常在与网络浏览器相同的空间中打开PDF阅读器)。假设我在Space 1中打开了一个终端,在Web 2中同时打开了一个网络浏览器,并在Space 2中打开了Preview。如果我在终端中,然后决定要打开网页,则切换到Space 2,在其中浏览器焦点。然后,我想查阅在“预览”中打开的PDF,该PDF在同一空间中,但其窗口在Web浏览器后面。但是,如果我按下⌘+ tab,则第一个选择是将我带回太空1中的终端机(因为终端机最近才有焦点)。在最坏的情况下,我将不得不反复按+ 循环浏览所有n个打开的应用程序,以进入“预览”状态。我想第一击+⌘tab⌘tab将我带到当前空间中带有Windows的下一个应用程序,即 Preview。
我知道使用Exposé是处理这些情况的更“苹果”方式,但是我想避免触及鼠标。我知道我也可以使用箭头键在Exposé中选择一个窗口,但是这又一次打破了我对窗口分层的思维模型,将在选择中建立认知反馈回路,并且需要最坏情况下的log(n)击键。据我所知,在当前工作区中没有仅使用键盘切换到特定应用程序的固定时间方法。