快捷键分两部分:修饰键 + 字母键/数字键/符号键。
在《征服macOS 快捷键(二)——快捷键的键位设计》里主要提及的是设计不会忘记的字母键/数字键/符号键,窍门有:
- 英文首字母
- 联想其它语言
- 空间位置
- 符号含义
在本文,我们把注意力转移到另一半——修饰键。
macOS 上可以用的修饰键并不多:
⌘Command
⇧Shift
⌥Option
⌃Control
🌐Globe
/fnFunction
(目前的非主流修饰键,但很有潜力)
虽然只有这么几个键,但是我们很容易发现,我们常常要么是觉得不够用,要么是觉得设得太多记不住,要么是两者都有。
在这里我建议一种分层熟悉快捷键的思路。
这种分层思路并非基于修饰键的多少,而是基于两个特性:
- 按键个数的多少
- 和系统冲突的可能性
修饰键的按键个数越少 + 与系统冲突可能性越低 = 这个修饰键更容易被记住,更有效率。也就更有被选择的价值。
按照这个思路来给修饰键分层。在足够熟悉一层修饰键之后,根据这一层修饰键来熟悉下一层,便足以建立合理的修饰键分配,和稳固的记忆及使用习惯。
第一层:从单键 ⌘Command
开始
⌘Command
是系统默认用于对 App 发出指令的主要修饰键。macOS 上大量原生快捷键是使用 ⌘Command
单键作为修饰键的。因此这是入门者接触的第一个修饰键,也应该是使用量最大的修饰键。
快捷键入门者应该参照此列表先熟练使用仅和 ⌘Command
相关的快捷键,包括尝试用通过系统默认的自定义快捷键方法给 ⌘Command
自定义一些快捷键。比如给 导出(Export)这个功能设置一个 ⌘Command - E
。
注意,在这里只建议先熟悉仅和 ⌘Command
相关的快捷键。因为一旦带上 ⇧Shift
和 ⌥Option
就很容仪混乱。先熟悉仅和 ⌘Command
相关的快捷键有助于建立第一层对于快捷键的基础认识。
本人常用 ⌘Command
快捷键组合,几乎每个字母键都会用到,所以直接按键盘上的3列字母来排:
第一排(没有用到Y
和U
):
⌘Command-Q
:退出应用程序(Quit)⌘Command-W
:关闭当前窗口(Window)⌘Command-E
:导出(Export),这是个人自定义按键⌘Command-R
:刷新(Refresh)⌘Command-T
:新标签(New Tab)⌘Command-I
:Finder 里查询文件的属性信息(Information)⌘Command-O
:打开(Open)⌘Command-P
:打印(Print)
第二排(没有用到D
、G
、J
):
⌘Command-A
:全选(All)⌘Command-S
:保存(Save)⌘Command-F
:查找(Find)⌘Command-H
:隐藏(Hide)⌘Command-K
:多为个人用的进阶应用程序里的“Launcher”功能,如 Slack⌘Command-L
:会自定义为编辑器中的无序列表(List)功能
第三排(没有用到D
、G
、J
)
⌘Command-Z
:撤销⌘Command-X
:编辑器中的剪切⌘Command-C
:复制⌘Command-V
:粘贴⌘Command-B
:编辑器中的加粗(Bold)⌘Command-N
:新建(New)⌘Command-M
:窗口最小化(Minimize)
第二层:使用 Hyper 键
macOS 上并没有一个修饰键叫 Hyper 键
。
Hyper 键
是把 4 个常用修饰键化为一个修饰键,并(一般)指定给“大写锁定键(⇪Caps lock
)”的技巧。它让“大写锁定键”变废为宝,在其黄金位置打造一个全新的修饰键。
并且因为它是全新的修饰键,所以它不会和其它快捷键冲突。特别是,它不会和系统默认的快捷键冲突。
也因为这样,从使用层面上,对于新手来说,Hyper 键
和 ⌘Command 键
一样,也是一个单键修饰键,不用额外记什么东西。并且,比 ⌘Command 键
更好的是,Hyper 键
不会和任何系统指定的快捷键冲突。
所以 Hyper 键
在 Power User 之中非常受欢迎。它是键盘用到了某个地步一定会去了解的技巧。macOS 上以实现 Hyper 键
为功能之一的改键工具 Karabiner Elements 在 GitHub 上有 16.8k Star.
从 Hyper 键
这个概念出现以来到现在,使用它的门槛已经逐渐降低。网上有足够多的文章介绍如何实现 Hyper 键
以及介绍它的进阶技巧。另外也有越来越多的工具把 Hyper 键
做为一个可以一键设置的功能。所以在这里推荐新手在熟练使用 ⌘Command 键
之后就开始研究 Hyper 键
的用法。
本文对如何实现 Hyper 键
不再展开介绍,如果日后觉得有必要会另写文章。
本人常用 Hyper
快捷键(仅展示有通用性的功能):
Hyper-C
:检查剪切板历史(无论用什么剪切板管理工具)Hyper-V
:粘贴并删除该条剪切板历史(文章介绍见剪切板进阶技巧:(逆)序列粘贴)Hyper-E
:将当前 Mac 连上我的 AirPods 耳机Hyper-R
:识别鼠标选中区域文字并复制
几乎所有个人设备都会用的窗口布局快捷键:
Hyper-Q
和Hyper-W
:左上角、右上角Hyper-A
和Hyper-S
:左半边、右半边Hyper-Z
和Hyper-X
: 左下角、右下角
在大屏、带鱼屏会用的窗口布局快捷键:
Hyper-2
:左三分之二Hyper-3
:右三分之一
第三层:小 Hyper 键
——底列三键
常规修饰键之中,有 3 个按键都是在键盘的最底一列,并做一排:
⌘Command
⌥Option
⌃Control
这样特殊的位置,使这 3 个按键的位置便于确认。我们可以把它们看作“1个位置”。并且,因为系统内部也没有设计同时使用这三个修饰键的快捷键,所以这三个键也不会和现有的系统指定快捷键所冲突。
从使用便捷度、记忆负担上来说,这 3 个按键的组合仅仅稍逊于 Hyper,因此可以称之为 小 Hyper 键
。
在做快捷键的时候,如果我想用的英文字母和 ⌘Command
和 Hyper 键
都已经组成了快捷键,那下一个被考虑的就是 小 Hyper 键
。
比如最近很多日历工具都可以让你快速生成并打开一个会议链接,省去了打开某个网站、点开创建新会议、复制链接的步骤。而快速创建会议,创建的英文是 C
。但是我们都知道 ⌘Command-C
是复制。我又把 Hpyer-C
给了查看剪切板。所以这时候,就可以用 小 Hyper-C
来快速创建 Google。
我另一个使用 小 Hyper 键
的地方是快速输入表情或 Unicode 符号:
这个功能现在官方默认的快捷键是 🌐Globe-E
,E 取自 Emoji。
最后一个使用小 Hyper 的快捷键是 小 Hyper-S
,这是生成 Stand Up Meeting 文件的快捷键。
第四层:双修饰键⇧Shift-⌘Command
很多时候,快捷键和功能会成双出现,最典型的是撤销(Undo)和重做(Redo)。这种时候,为了减少记忆成本,节省快捷键的字母键/数字键/符号键,就会用到 ⇧Shift
来给 ⌘Command
增加一个层级:
⌘Command-Z
:撤销⇧Shift-⌘Command-Z
:重做
当这种使用同一个字母键成双的功能和快捷键出现时,多半是 ⌘Command
的那个使用频率高,⇧Shift-⌘Command
的那个低。
除了肌肉记忆地记下系统默认的 ⇧Shift-⌘Command
快捷键以外,我没有专门为 ⇧Shift-⌘Command
设置什么快捷键。因为除了作为和 ⌘Command
成双出现的功能快捷键以外,我没有创造出理解这个快捷键的逻辑。
所以如果我设置了一个 ⇧Shift-⌘Command
快捷键,它既不是系统默认的,还和现存的 ⌘Command
快捷键无关,我多半会忘了它。这也是我把它放到第四层的原因。
本人常用 Hyper
快捷键(仅展示有通用性的功能):
⇧Shift-⌘Command-3
:全屏截屏⇧Shift-⌘Command-4
:区域截屏⇧Shift-⌘Command-5
:屏幕录制⇧Shift-⌘Command-G
:Finder 里文件夹跳转⇧Shift-⌘Command-N
:Finder 里新建文件夹⇧Shift-⌘Command-N
:Finder 窗口下清空回收站
查找替换组:
⌘Command-F
:查找⇧Shift-⌘Command-F
:替换
标签组:
⌘Command-T
:新标签页⇧Shift-⌘Command-T
:恢复刚关闭的标签
第五层:未提及的修饰键组合
这一层的修饰键,除了和 macOS 水土不服,就是指法别扭且没有记忆逻辑。是第三方 App 自定义快捷键的重灾区……
- 单键
⌃Control
:Ctrl
在其它操作系统中举足轻重,但在 macOS 上,除了 Terminal 里以外就不太有用武之地了。 - 双键
⌃Control-⌘Command
:通过查看原生快捷键列表,我总结到的是,⌃Control-⌘Command
是在⇧Shift-⌘Command
已经被用的时候的第三方案。没有记忆逻辑,并且手指位置不舒服。 - 三键
⌃Control-⇧Shift-⌘Command
:和小 Hyper 键
比起来,这三个键在用的时候需要额外注意一下手指位置。其它的三键也都有这个毛病。 - 其它不含
⌘Command
键的组合方式:可能是我比较古板,觉得 macOS 上搞快捷键还是要带一下⌘Command
… - 其它
目前为止,针对同一个字母键/数字键/符号键,已经有 3 层修饰键来应对:
⌘Command
Hyper
小 Hyper
带上之后的 🌐 Globe
就有 4 个了,应该可以解决大部分问题了。
这几层修饰键共同强调的点,就是减少记忆负担。减少记忆负担的途径是只保留 1 个或近似于 1 个按键,没有其它选择。没有选择,就不会选错。这三组快捷键的优先级是(🌐 Globe
另议):
⌘Command
:第一优先,因为系统指定Hyper
:第二优先,因为无冲突快捷键以及键位最舒服小 Hyper
:第三有限,因为无冲突快捷键,且键位不用刻意记忆
像是 2 个修饰键的情况,不仅需要额外摸一下键位,还在最初习惯快捷键的时候要问一下自己,当初为什么设计的是这两颗修饰键而不是另两颗。为什么是 ⌥Option-⌘Command
而不是 ⇧Shift-⌘Command
或 ⌃Control-⌘Command
?
就算构思了什么奇特的逻辑,只要不够本能和自然,就还会随着时间淡化和改变。
彩蛋:一颗潜力巨大的修饰键
最后,介绍一颗潜力很大的修饰键 🌐 Globe
/fnFunction
。
在旧 Mac 键盘的 fnFunction
的位置,苹果默默地加入了做为输入法切换按键的 🌐 Globe
。与此同时,🌐 Globe
本身也是一个修饰键。在 iPadOS 16 以后,它已经被委以重任,成为了类似 ⌘Command
的存在,有属于自己的一组快捷键。
在 macOS 上,随着改键工具的跟进,这个键有着超越 Hyper 键
的潜力。说到底它的概念和进阶的Hyper 键
一样:
- 它也是1颗按键
- 目前与系统没什么冲突
- 单独按下有一个效果
- 长按可以作为修饰键
- 最关键的是,它不需要用户额外做什么调整,也不用担心版本更新时的戒断期
可谓是一颗 Sherlock Hyper 键
的修饰键。