article_image

初衷

读过我之前文章的朋友应该知道,我是一个追求“存在既有用”的人,我希望 Mac 上每一寸地方都是物尽其用的。

经过对自己日常使用的观察,我发现键盘右侧的三个修饰键 Shift、Command、Option 基本上在日常使用中从来没用过,考虑到一台 Mac 的售价,Mac 的键盘用寸土寸金来形容也毫不为过,这种闲置无疑是一种巨大浪费。而通过对自己高频操作的整理,切换输入法、呼出 AI、将当前窗口发送到另一个显示器这三个需求脱颖而出,值得为这三个需求分别设置一个单独的按钮。

如果你之前读过《征服 macOS 快捷键(三)——修饰键的分层和原则》,对 Hyper 键的概念有所了解,那么本文在设置方法上其实并没有什么新鲜的内容,只是把 Hyper 键原理运用到了右侧的修饰键上。

本文在某种程度上算是对《征服 macOS 快捷键》系列文章的一种应用和扩展,强烈建议先去看一下征服 macOS 快捷键系列文章。

关联阅读:

本文中用到的软件

  • Karabiner-Elements:Mac 下最强自定义键盘 app,免费开源。
  • EnConvo:一个 Spotlight-like 的第三方 OpenAI 客户端,我在桌面调用 AI 基本靠它,支持插件,49 刀买断。
  • Rectangle Pro :窗口管理 app,有免费版,Pro 版 80 港币。之所以选择这个 app 是因为它除了基本的窗口管理外,还可以进行多显示器的窗口管理,并且有一个独家功能 stash,可以将窗口缩入屏幕边缘,鼠标 hover 时候再出现,在需要边看参考资料边工作的场景非常方便。
    这基本是在我使用了这么多窗口管理 app 后觉得功能最强的了,这个作者的其他 app 也都很有意思,他还推出过一个可以实现 Hyper 键功能的 app,不过没有 Karabiner-Elements 强大,有兴趣可以去他的官网看看他的其他 app。

快捷键设置

通常大家在设置 Hyper 键的时候会习惯将短按和长按分别设置成不同的功能,拿一般的 Hyper 键教程来说,短按一般会设置为一个用不到的 F* 键(比如 F19),长按会设置成 Shift+Control+Option+Command 的组合以扩展更多的快捷键位,下面键位的设置沿用此逻辑,不过每个长按都设置成了不同的修饰键组合(见下图),这样可以极大的扩展 macOS 的组合键。

修饰键组合

右 Shift:呼出 AI

我左手边的大写键被设置成了短按呼出 Alfred,长按为 Shift+Control+Option+Command。所以对应的,在我想为 AI 程序找一个单快捷键的时候第一个就想到了右边的 Shift,他们位置、大小都相差不多,属于盲按基本不会按错的程度。

右 Command:切换输入法

由于要频繁地切换输入法,输入法切换的按键应该遵循“打字时可以很方便按到”这个原则,所以右侧的 Command 是最适合不过的了,在打字时候只要右手大拇指向内侧一弯就能很方便地触到。

右 Option:移动窗口

其实这个需求在实际使用中要比我上面两个加起来都多,之所以设置在这个位置,因为呼出 AI 和切换输入法之后大概率都会伴随“输入”这个行为,所以尽可能在触发时手不要有太大的位移,这样能保证“输入”不被打断;而“移动前台窗口到另一个显示器”本身就是一个打断当前动作的操作,所以应该设置在一个“方便但一定很难误触”的位置,右 Option 恰巧就是这样一个位置。

与方向键的组合

之前我在 Slack 群里问过大家将方向键设置单独功能的可能性,最后的结论是“方向键虽然大部分时间频率不高但确实不能没有”。如何充分利用方向键这个问题,在我设置了右侧三个 Hyper 键之后豁然开朗。由于右侧三个修饰键离方向键非常近,这使得四个方向键也可以作为一种强方向指向的组合键被利用起来。

在我自己的用例中,Option+方向被我设置成了窗口管理键,根据上下左右方向的组合分别是最大化、恢复到之前窗口位置、窗口在当前屏幕居左、窗口在当前屏幕居右,非常符合直觉。

Command+方向被我设置成了屏幕边缘 stash,同样是相当符合直觉。

Shift+方向目前只用到了左右,用来移动当前窗口到不同的 space。

与其他键的组合

右侧修饰键周围的键位

除了方向键,右侧修饰键周围还有一些离得很近的键位可以用来组合,我目前没有那么多功能需要拓展,这就留给有兴趣的朋友自行开发吧。

一个小 Tip:为一个功能设置多个快捷键

由于右侧增加了三个 Hyper 键,原本有限的快捷键数量瞬间变得丰富多彩。不仅如此,两边的触发方式都变得极其便利。然而,在大多数应用程序中,一个功能只能设置一个快捷键。那么,如果我们希望为一个功能设置多个快捷键该如何操作呢?其实答案非常简单,只需通过强大的 Keyboard Maestro 作为“桥梁”即可。

以 orc 功能为例,在应用程序内设置了 Caps Lock+A 作为原始的快捷键,这样左手就能很方便地触发。在 Keyboard Maestro 中,我们只需为这个快捷键绑定另一侧手方便触发的组合,比如我设置的是右 Shift+O。这样,左右手都能够很方便地触发某个功能。