为了实现Windows、Linux、macOS三个平台一致的键盘快捷键体验,核心策略是统一使用Windows与Linux风格的快捷键,调整macOS下的Control键和Command键的映射关系,并微调macOS部分快捷键配置。
Control键映射为Command键,坏处很明显,需要放弃所有的原生Control组合功能,包括Control+C停止命令等常用终端命令。对于iTerm等终端工具,可以单独设置快捷键以实现Control+C的效果,但对于Jetbrains和VSCode等终端界面,无法很好的支持需要Control组合的快捷键。
Control键映射为Command键的同时,也将Command键也映射为Control键(双向映射),可以通过Command+C实现原来Control+C的功能,但又会打乱macOS原本的一些快捷键习惯,如:Command+Tab切换窗口、Command+Space打开聚焦搜索、Command+Q关闭应用等都需要切换为Control组合快捷键。
没有一套完美的跨平台快捷键统一方案,下文提供一种将Control键映射为Command键的配套修改思路,以供参考。
一、macOS全局快捷键
点击【设置】-【键盘】-【键盘快捷键】,进入系统快捷键设置界面。
将【修饰符】中的【Control键】修改为【Commond键】,以适配Windows/Linux的使用习惯。
| 动作 | 原快捷键 | 新快捷键 | 备注 |
|---|---|---|---|
| 服务/搜索/聚焦 | Shift+Command+F | - | 避免与Jetbrains快捷键冲突 |
| 聚焦/显示APP | - | Option+A | - |
二、Jetbrains快捷键
点击【Settings】-【Keymap】,进入IDEA/PyCharm快捷键设置界面。
切换预定义的键位映射为:【Intellij IDEA Classic】。
| 动作 | 原快捷键 | 新快捷键 | 备注 |
|---|---|---|---|
| Find in Files | Contrl+Shift+F | - |
三、iTerm快捷键
点击【Settings】-【Keys】-【Key Bindings】,进入iTerm快捷键设置界面。
| 动作 | 原快捷键 | 新快捷键 | 备注 |
|---|---|---|---|
| Send Hex Codes: 0x03 | - | Command+C | 中断命令 |
| Copy Selection or Send | - | Command+Shift+C | 复制 |
| Paste or Send | - | Command+Shift+V | 粘贴 |