我如何使大写锁定工作像Esc在Mac OS X?


当前回答

您还可以使用DoubleCommand来重新映射这个键和其他键。

IIRC,它会将Caps Lock映射为Esc。

其他回答

在尝试了以上几种解决方案后,我总结了以下几点:

DoubleCommand将不允许你交换esc和caps-lock。

PCKeyboardHack将允许您将转义映射到大写,但不具有将转义映射到大写的能力。最新版本将允许您通过编辑两个键来执行完整的交换。

这可能满足你的需求,也可能不满足(我知道这是我的需求)。

在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/

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 10.12.1以来,可以将Caps Lock重新映射为Esc本机(Apple > System Settings…> Keyboard > Keyboard Shortcuts > Modifier Keys in macOS 13,或之前的System Preferences -> Keyboard -> Modifier Keys)。