使用 Vim/neovim 时我往往会把 caps lock
键重新映射到 esc
键(不然小拇指会断掉),但是如果每次都按照系统设置 -> 键盘 -> 键盘快捷键 -> 修饰键
一路点下来的话一点也不 geek,所以我在终端中设置了快捷指令来完成这个操作。
设置方法#
在 .zshrc
设置 alias
的部分添加如下内容:
# Turn on key mapping
alias vmode="hidutil property --set '{\"UserKeyMapping\":[{\"HIDKeyboardModifierMappingSrc\":30064771129,\"HIDKeyboardModif
ierMappingDst\":30064771113}]}'"
# Turn off key mapping
alias nmode="hidutil property --set '{\"UserKeyMapping\":[]}'"
vmode
和 nmode
可以自定义,选自己喜欢的字母组合就可以啦!
2024.11.05 更新 :
升级到 macOS Sequoia 后要在
系统设置 -> 隐私与安全性 -> 输入监控
里添加如下两项:添加 iTerm 比较简单,而要添加 hidutil 的话可以先在终端输入
whereis hidutil
,这时候会出现 hidutil 所在的路径。一般来说应该是hidutil: /usr/bin/hidutil /usr/share/man/man1/hidutil.1
然后点击 + ,用快捷键
⌘ + ⇧ + G
打开 前往 窗口,输入/usr/bin/hidutil
就可以啦!
说明#
- 命令中用到了
hidutil
来更改键位,但这个工具在网上相关信息很少,只能找到 Developer 上的这篇 《Technical Note TN2450》。我主要参考了 《Using hidutil to map macOS keyboard keys》 来进行设置。如果有其他的改键需求,可以参考 Key Table Usages 来自己设置。 - 设置
alias
时要注意单引号内的双引号前要添加\
来转义。 - 这样设置当然不是为了显得 geek,是因为真的很方便!