Mac 修改系统快捷键解决冲突
场景
mac 自带的帮助快捷键是 command + shift + / 与 webstorm 中的注释快捷键有冲突
冲突的表现是按下组合键之后,弹出的是系统的帮助搜索框而不是执行 IDE 的功能。这是因为系统级快捷键的优先级高于应用内快捷键——按键事件先经过系统层处理,被系统消费掉了就不会再传给应用。所以在 WebStorm 里怎么改键位映射都没用,得从系统这一层解决。
macOS 上容易撞车的系统快捷键还有几个:Control + 空格(切换输入法,和很多 IDE 的代码补全冲突)、Command + Shift + 4(截图,和一些编辑器的多光标操作冲突)、Control + 方向键(切换桌面空间,和终端里的光标移动冲突)。思路都一样,改系统的或者改应用的,二选一。
如何重新设置
如图,打开系统设置-键盘设置-快捷键-应用快捷键
下图是设置面板的位置。左侧是快捷键分类(启动台、显示器、任务控制、键盘、屏幕快照等),右侧列出该分类下的所有快捷键及当前绑定的按键。这里的每一项都能改或关:

将应用快捷键的帮助关闭,或者设为其他值
在「应用快捷键」分类里找到「显示帮助菜单」这一项。最省事的做法是把左边的勾选框取消,直接停用这个快捷键——我基本不用系统的帮助菜单,关了没影响。想保留的话双击右侧的按键区域,然后按下新的组合键就完成替换。
下图是取消勾选后的状态,注意那一项左侧的勾没了,右侧的按键显示也变灰:

同时可设置添加,如锁定屏幕,经测试,符合系统菜单中的名称大多可设置快捷键
「应用快捷键」这个分类除了改,还能新增。点左下角的 +,选择目标应用,然后填入菜单项的名称和想绑定的按键。原理是 macOS 通过菜单项标题来定位要触发的命令,所以填的名称必须和该应用菜单栏里显示的文字完全一致,包括标点和空格,差一个字符就不生效。这也是这个功能最容易出错的地方——名称对不上时系统不会报错,只是静默失败。
有个技巧:先在应用里打开对应的菜单看清楚文字再来填。带省略号的菜单项(比如「打印…」)那个是三点省略号字符而不是三个句点,直接从菜单里对照着抄。
下图是新增快捷键的对话框,三个字段分别是应用、菜单标题、键盘快捷键:

用百度搜索
下图是给「用百度搜索」这个菜单项绑定快捷键的例子。这类右键菜单里的搜索项也在可绑定范围内,说明只要是走标准菜单栏机制的命令都能加:

几个注意点
改完之后目标应用需要重启才会读到新配置。改了不生效先试试退出重开。
按键组合别和更常用的功能撞车。Command + 单个字母 这类组合大多已被占用,安全的做法是用三个修饰键的组合,比如 Control + Option + 某个键,这类组合系统和大部分应用都没用。
如果只是想解决一两个 IDE 的冲突,另一个思路是反过来改 IDE 的快捷键,不动系统设置。WebStorm 里的注释操作可以改成别的键位,这样系统配置保持原样,换机器时少一项要同步的设置。哪种更好取决于你更常用哪个功能——被系统占着的那个功能如果你压根不用,关掉系统的更干净。
需要更强的定制能力(比如按键重映射、按应用切换不同映射、组合键触发脚本)时,系统设置就不够了,得用 Karabiner-Elements 或者 Hammerspoon 这类工具。

还没有留言,来发表第一条吧~