Command-Tab 的问题
Command-Tab 的问题
⌘Command-Tab
几乎是每一个使用电脑的人都会接触到的快捷键组合,使用频率通常很高,主要用于切换应用。系统本身提供的 Command-Tab 功能很基础,但实际上存在不少问题,比如它会默认显示所有正在运行的 App,不管是前台运行还是后台运行的,这就会让整个列表非常冗长。
<figcaption class="ss-image-caption js-evernote-checked" data-evernote-id="297" style="outline: none !important; font-style: normal; font-weight: 400; font-size: 14px; line-height: 14px; text-align: center; color: rgb(142, 135, 135); margin-top: 20px;">冗长的列表</figcaption>
后台运行的 App 分为没有窗口、最小化窗口(Commnad-M)、隐藏(Command-H)三类,但不论是哪一种,都无法通过 Command-Tab 来激活窗口。1 我们实际高频使用的只有 Command-Tab 列表前面的一部分,后半部分大多数时间都是在干扰视线,没有太大用途。
除了这两个小问题,Command-Tab 其实还有很多可以优化和提升的空间,比如切换到列表中间部分的 App 并不方便,再比如没有窗口预览。
应用切换和窗口切换
市面上有不少 Command-Tab 增强工具,它们实现的效果各有不同,但我认为一款合格的 Command-Tab 增强工具应该至少满足:能隐藏掉没有窗口的 App,不在 Command-Tab 列表里显示。
image<figcaption class="ss-image-caption js-evernote-checked" data-evernote-id="310" style="outline: none !important; font-style: normal; font-weight: 400; font-size: 14px; line-height: 14px; text-align: center; color: rgb(142, 135, 135); margin-top: 20px;">用 Witch 隐藏后台 App 之后的效果,实际上只有 3 个 App 在前台</figcaption>
满足这个条件的工具很多,比如 HyperSwitch、Witch、Contexts、Command-Tab Plus 等。但如果想要做得更好,除了在应用切换上下功夫,还应该在窗口切换上下功夫。
窗口切换是什么概念?举个例子,我用 Numbers 打开了两个表格,参考用的表格放在屏幕左半边,正在修改的表格放在屏幕右半边。这时我再打开一份 PDF 文档查资料,并把它放在屏幕的左半边作为参考。然后我按下 ⌘Command-Tab
想切换回正在修改的表格,会发现两个 Numbers 表格都同时被激活了,PDF 被覆盖在了参考表格下面,这种体验并不好。
工作内容越依赖电脑的人,需要同时处理的文档和窗口往往越多,桌面上排着 5、6 个窗口是常有的事。优秀的 Command-Tab 增强工具除了要能处理简单的需求,也要能处理重度的需求。
所以要做好窗口切换,就需要能精准切换窗口,不激活无关窗口。具体体现在功能上就是 Command-Tab 列表里能显示同一个 App 的多个窗口,并且能快速辨认出每个窗口的区别。
前面提到的四款工具 HyperSwitch、Witch、Contexts、Command-Tab Plus 同样都能实现这个需求,但区别是实现方式不太一样。前两者还是以我们熟悉的图形界面为主,能直接看到窗口的预览;后两者则让文本占据了 UI 的主导地位,这对于大部分用户来说跨度太大,也没有图形界面直观。因此本文对比主要集中在 HyperSwitch 和 Witch 上。
image<figcaption class="ss-image-caption js-evernote-checked" data-evernote-id="327" style="outline: none !important; font-style: normal; font-weight: 400; font-size: 14px; line-height: 14px; text-align: center; color: rgb(142, 135, 135); margin-top: 20px;">四款工具的窗口切换界面对比</figcaption>
HyperSwitch 和 Witch 对比
HyperSwitch 是一款免费的工具,基本功能齐全,设置选项也比较简单易懂。
image<figcaption class="ss-image-caption js-evernote-checked" data-evernote-id="332" style="outline: none !important; font-style: normal; font-weight: 400; font-size: 14px; line-height: 14px; text-align: center; color: rgb(142, 135, 135); margin-top: 20px;">HyperSwitch 的设置选项</figcaption>
Witch 则是收费应用,需要 14 美元。功能比 HyperSwitch 丰富,但设置偏复杂,容易一上来就蒙圈。
image<figcaption class="ss-image-caption js-evernote-checked" data-evernote-id="336" style="outline: none !important; font-style: normal; font-weight: 400; font-size: 14px; line-height: 14px; text-align: center; color: rgb(142, 135, 135); margin-top: 20px;">Witch 的设置选项</figcaption>
HyperSwitch 的优势
除了免费这个优势,HyperSwitch 有最直观的窗口切换界面:大图标 + 大窗口。不像 Witch 那样是「小图标 + 中窗口」。我们使用 ⌘Command-Tab
进行切换时,首先是切换 App,其次才是切换窗口。把 App 图标缩小显示了,反而舍本逐末。
<figcaption class="ss-image-caption js-evernote-checked" data-evernote-id="342" style="outline: none !important; font-style: normal; font-weight: 400; font-size: 14px; line-height: 14px; text-align: center; color: rgb(142, 135, 135); margin-top: 20px;">HyperSwitch 和 Witch 效果对比</figcaption>
Witch 的优势
Witch 相比 HyperSwitch,可自定义选项要更多,你可以调整窗口的颜色、边框、字体等等,还能设置数字快捷键,跳转列表中间的 App 会更便捷。
image<figcaption class="ss-image-caption js-evernote-checked" data-evernote-id="347" style="outline: none !important; font-style: normal; font-weight: 400; font-size: 14px; line-height: 14px; text-align: center; color: rgb(142, 135, 135); margin-top: 20px;">Witch 可以按数字切换应用</figcaption>
此外 Witch 还有黑名单功能,你可能不希望在某些 App 里使用 Witch,比如在使用虚拟机的时候,那么可以把它禁止掉。或者你不希望某些应用出现在 Witch 列表里,比如 LaunchBar 这种浮动的窗口,其实并不需要依靠 ⌘Command-Tab
来启动,因此可以把 LaunchBar 加到过滤列表。
<figcaption class="ss-image-caption js-evernote-checked" data-evernote-id="352" style="outline: none !important; font-style: normal; font-weight: 400; font-size: 14px; line-height: 14px; text-align: center; color: rgb(142, 135, 135); margin-top: 20px;">黑名单和过滤</figcaption>
丰富自定义选项还带来另一个好处,除了自定义 ⌘Command-Tab
,还能自定义 ⌘Command-``(Tab 上面那个按键)。对于 Mac 重度用户来说,除了
⌘Command-Tab,其实
⌘Command-`` 也是很常用的一组快捷键,它可以用来切换当前应用的多个窗口。但系统自带的仍然比较基础,没有切换动画,只能按照固定顺序切换。比如我用预览 App 打开了 A、B、C、D 四份 PDF,你只能按照 A → B → C → D 的顺序切换,不能直接从 A 切换到 C。
HyperSwitch 的窗口预览同样对 ⌘Command-`` 有效,但 Witch 做得更好,它能让
⌘Command-以列表的形式显示。因为对于同一个应用来说,图标的显示效果已不再重要,往往名字更能凸显每一个窗口的特征,Witch 能对 `⌘Command-Tab` 和 `⌘Command-
两组快捷键分别进行设定会更加灵活。
<figcaption class="ss-image-caption js-evernote-checked" data-evernote-id="365" style="outline: none !important; font-style: normal; font-weight: 400; font-size: 14px; line-height: 14px; text-align: center; color: rgb(142, 135, 135); margin-top: 20px;">同应用多窗口切换对比</figcaption>
各自的缺点
HyperSwitch 的缺点是很久没有更新过了,应用还一直处于 Beta 版本,我猜测开发者可能已经停止维护很久了,你从它那丑陋的图标也能看出来岁月的痕迹。但好在 HyperSwitch 运行正常,日常使用也没有什么大 Bug,因此倒不是什么大问题。
image<figcaption class="ss-image-caption js-evernote-checked" data-evernote-id="371" style="outline: none !important; font-style: normal; font-weight: 400; font-size: 14px; line-height: 14px; text-align: center; color: rgb(142, 135, 135); margin-top: 20px;">HyperSwitch 古老的图标和官网</figcaption>
Witch 的缺点其实比较致命:响应速度慢。我刚开始以为这是 Witch 的设置选项导致的,在「Advanced」里有一项叫「Show list on main display」的选项,除了 0s 外,最小可以设置为 0.1s,没有中间值可选。但是我发现,就算我把 HyperSwitch 同样设置为 0.1s(默认是 0.08s),也能明显感受到 Witch 在切换时候的迟钝,通俗点说就是不跟手,这个问题很影响使用体验。
image<figcaption class="ss-image-caption js-evernote-checked" data-evernote-id="376" style="outline: none !important; font-style: normal; font-weight: 400; font-size: 14px; line-height: 14px; text-align: center; color: rgb(142, 135, 135); margin-top: 20px;">Witch 的反应时间设置</figcaption>
总结
在 Witch 解决它的卡顿问题之前,我认为目前最好的 Command-Tab 增强工具是 HyperSwitch。工具本身免费,精准解决应用切换和窗口切换的问题,并且显示效果出众。虽然长久不更新,但日常使用无大碍,我只希望下一次 macOS 系统更新不会搞坏它。
- 1虽然你可以配合 Option 键来实现激活窗口,但这组快捷键很不顺手,并且需要固定的顺序才能成功:先激活 Command-Tab 后再按下 Option 键,最后 Option 键要和 Command 键一起松开。很繁琐。