我如何使大写锁定工作像Esc在Mac OS X?
当前回答
Karabiner-Elements 一个功能强大和稳定的键盘定制macOS。(免费)
https://pqrs.org/osx/karabiner/index.html
为我在莫哈韦把大写键改成退格键
其他回答
这是有可能的。
解决方案1
摘自trueintimacy网站上的一篇文章。
下载并安装PCKeyboardHack。 进入系统首选项中的PCKeyboardHack。 启用“Change Caps Lock”并设置键码为53。
解决方案2
这个解决方案不涉及修补键盘驱动程序,而是提供了一个特定于Vim的解决方案。
OS X支持将大写锁键映射到一大堆键,但你必须“手动”,编辑.plist文件。本文描述了这个过程。作为提示的补充,我建议你首先在系统首选项中将Caps-Lock设置为None,然后你只需要更改.plist文件中的一个值。当然,您也可以使用属性列表编辑器,而不是执行XML转换步骤。
诀窍是将“Caps Lock”键映射到“Help”键(代码6),这在大多数键盘上都没有。但如果它是,它将被视为插入键,你可能不会使用它,因为你要求重新映射你的Caps Lock以防止伸展你的手;)
然后你可以在vim中将帮助键和插入键映射为Esc键。
map <Help> <Esc>
map! <Help> <Esc>
map <Insert> <Esc>
map! <Insert> <Esc>
这将适用于gvim (Vim.app)。我没有让它与终端中的vim一起工作,我也没有用MacVim测试它。
因此,这是一个相当复杂的、不成熟的解决方案,或者安装一个第三方的黑客。你自己选;)
编辑:刚刚注意到解决方案3,如果你使用MacVim,你可以使用Ctrl,选项和命令作为Esc。使用系统首选项,将Caps Lock映射到其中一个键是很简单的。
在macOS Sierra中,将Caps Lock键映射为Esc键要容易得多。
打开系统首选项→键盘。 点击右下角的修改键按钮。 单击要重新映射的硬件键旁边的下拉框,然后选择Escape。 单击“确定”并关闭“系统首选项”。
https://9to5mac.com/2016/10/25/remap-escape-key-action-macbook-pro-macos-sierra-10-12-1-modifier-keys/
您还可以使用DoubleCommand来重新映射这个键和其他键。
IIRC,它会将Caps Lock映射为Esc。
打开键盘首选项,点击修改键…您可以将大写锁定键更改为控制、选项、转义或命令。
编辑:如本回答中所述,新版本的MacOS现在支持将Caps Lock重新绑定为Escape。因此,不再需要安装第三方软件来实现这一目标。
下面是我对如何使用Seil(以前称为PCKeyboardHack)实现这一目标的一个全面的、可视化的回答(带有链接)。
首先,进入系统首选项,选择键盘,然后选择键盘选项卡(第一个选项卡),然后单击修改键:
在弹出的对话框中将“Caps Lock Key”设置为“No Action”:
2)现在,点击这里下载并安装Seil:
3)安装后,你会安装一个新的应用程序(Mountain Lion和更新的),如果你是在一个较旧的操作系统上,你可能需要检查一个新的系统首选项窗格:
4)选中“Change Caps Lock”,输入“53”作为escape键的代码:
这样就完成了!如果它不能立即工作,您可能需要重新启动计算机。
深刻的印象吗?想要更多的控制?
你可能还想看看KeyRemap4MacBook,这实际上是pqrs.org上的旗舰键盘重映射工具——它也是免费的。
如果你喜欢这些工具,你可以捐款。我和他们没有任何关系,但我已经使用这些工具很长一段时间了,不得不说那里的家伙在维护这些工具、添加功能和修复错误方面做得非常出色。
下面是一个截图,展示了几个(数百个)可预选选项:
PQRS还有一个叫做NoEjectDelay的实用程序,你可以结合KeyRemap4MacBook来重新编程弹出键。稍作调整后,我将我的手机设置为切换机场Wifi。
这些实用程序在重新映射Mac键盘时提供了无限的灵活性。玩得开心!
推荐文章
- 如何在Mac上的命令行安装JQ ?
- 在Mac OS X上安装/升级gradle
- Vim:在可视模式下快速选择文本块的方法
- 如何在终端中提高光标速度?
- Objective-C中的自动引用计数不能防止或减少什么样的泄漏?
- 如何在Mac OS安装时停止MySQL ?
- PIP成功安装包,但在命令行中找不到可执行文件
- 无法在Mac OS X 10.9上安装Lxml
- 是否有vim命令来重新定位一个选项卡?
- 在OS X上使用sed进行就地编辑
- MacVim和普通Vim有什么区别?
- 查看保存的NSUserDefaults的简单方法?
- 有什么方法可以在Vim中查看当前映射的键吗?
- 同一行上有多个命令
- 如何将所有文本转换为小写在Vim