在macOS中设置一个“万能”全局快捷键,让你无论在哪个界面,只要按下某个组合键就能快速启动应用、运行脚本或触发系统功能,这确实是提升工作效率的绝佳方式。然而,macOS自带的菜单快捷键通常只限于当前应用内生效,想要实现真正的全局响应,你需要绕开这一限制,借助一些系统级的“隐藏”功能。

不用担心,操作并没有想象中那么复杂。目前主流的有效方法主要有三种,各自适用不同场景且各有优势,你可以根据实际需求灵活选择。
一、通过系统设置配置全局服务快捷键
这是最“原生”的方案,依托macOS内置的“服务”机制。简单来说,先用Automator创建一个快速操作,将其注册为系统服务,再分配一个全局快捷键。这种方法非常适合跨应用的标准化通用任务。
具体操作步骤如下:
首先,打开“Automator”应用,新建文档时记得选择“快速操作”模板。
接着,在左侧的库里搜索“运行AppleScript”,将其拖拽到右侧工作流区域。然后在脚本框中粘贴你想要执行的指令。例如,若想让快捷键启动Safari,就写入 tell application "Safari" to activate。
脚本编写完成后,点击菜单栏的“文件”→“保存”,为其命名,比如“启动 Safari”,保持默认保存位置即可。
最后一步是分配快捷键。打开“系统设置”,进入“键盘”→“键盘快捷键”→“服务”。向下滚动,在“快速操作”分类中就能找到刚才保存的“启动 Safari”。在右侧的空白区域点击一下,然后直接按下你想要的组合键,例如 Command+Option+S。需要注意,快捷键必须包含至少一个修饰键(如Command、Option、Control或Shift)。
确保该服务前面的复选框处于勾选状态,此后无论你在哪个应用界面,按下这个组合键,Safari便会立刻启动。
二、使用 Karabiner-Elements 实现真正全局响应
如果你觉得第一种方法还不够“底层”,或者需要更复杂、更灵活的按键映射,Karabiner-Elements 绝对是理想之选。它的原理是在内核层拦截物理按键事件,完全不依赖应用菜单,因此响应是真正的全局且即时。
你可以用它把任意按键组合映射成启动应用、执行shell命令,甚至运行AppleScript。操作流程大致如下:
先去官网下载并安装最新版的Karabiner-Elements。首次启动后,它会引导你完成初始化,记得授予它辅助功能权限,这是它正常工作的关键。
打开软件,进入“Complex Modifications”标签页,点击“Add rule”。这里你可以直接启用一些预设规则,例如“Enable command + option + space to launch Spotlight”(用Cmd+Opt+空格启动聚焦搜索)。如果预设中没有你需要的,可以点击“Import more rules from the Internet”加载社区大神们分享的配置。
当然,最强大的还是自定义功能。点击“Add new rule”,然后编辑JSON配置文件。你需要在其中指定 from(按下什么键)和 to(执行什么动作)。比如,你可以设置按下某个组合键时,执行 open -a "Notes" 来打开备忘录。
规则启用后,效果立竿见影,在任何场景下按键都会立刻响应。
三、在“终端”描述文件中绑定功能键
这种方法比较“专一”,主要服务于终端环境。它的思路是把键盘上那些不常用的功能键(F1到F19),或者自定义的组合键,绑定到特定的shell命令或文本上。对于需要频繁在终端中输入重复命令的用户来说,这堪称“神器”,能极大提升命令行的工作效率。
具体设置路径在终端应用内部:
打开“终端”,点击菜单栏的“终端”→“设置”(或直接按Cmd+,),然后点开“描述文件”标签。
在左侧的描述文件列表里,选中你当前正在使用的那个(例如“基本”)。接着,点顶部的“键盘”标签,就进入了按键映射的界面。
在“按键”列表里,你可以选择一个现有的键(比如F13)进行修改,也可以点击左下角的“+”号“创建新的组合键”来新增一个映射。
在弹出的设置窗口中,你需要定义几个参数:在“键”里选择物理按键,在“修饰键”里决定是否加上Command、Option等修饰键。最关键的是“操作”菜单,你可以选择“发送文本”、“运行命令”或“发送按键序列”等。
举个例子,如果你选择了“发送文本”,并在下方的输入框里写入 cd ~/Documents\n(注意末尾的\n代表回车),那么当你按下绑定的键时,终端就会自动输入并执行“进入Documents目录”这条命令。
