# 改造你的 Mac，让右侧修饰键物尽其用

> 本文公开全文。

原文：https://utgd.net/article/20757

## 初衷

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

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

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

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

关联阅读：

- 征服 macOS 快捷键（一）——快捷键之王

- 征服 macOS 快捷键（二）——快捷键的键位设计

- 征服 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。这样，左右手都能够很方便地触发某个功能。

---

[前往标准阅读页](https://utgd.net/article/20757?audience=web)
