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


当前回答

Seil还不能在macOS Sierra上工作,所以我使用Karabiner Elements,从https://pqrs.org/latest/karabiner-elements-latest.dmg下载。

要么使用GUI,要么将以下内容放入~/.karabiner.d/configuration/karabiner.json:

{
  "profiles" : [
    {
      "name" : "Default profile",
      "selected" : true,
      "simple_modifications" : {
        "caps_lock" : "escape"
      }
    }
  ]
}

其他回答

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

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

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

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

打开键盘首选项,点击修改键…您可以将大写锁定键更改为控制、选项、转义或命令。

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

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

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

如果你不想安装第三方应用程序,并且你真的只关心iTerm中的vim,下面的方法是有效的:

如上所述,将CapsLock重新映射为Help。

短版本:使用plutil或类似编辑~/Library/Preferences/ByHost/. globalpreferences *。Plist,它应该看起来像这样:

<key>HIDKeyboardModifierMappingDst</key>
<integer>6</integer>
<key>HIDKeyboardModifierMappingSrc</key>
<integer>0</integer>

重新启动!简单的登出和登录对我来说不起作用。

在iTerm中,为Help添加一个新的键映射:发送十六进制代码0x1b,它对应于Escape。

我知道这并不完全是要求的,但我认为许多人寻找这样的解决方案的目的实际上是这个更专业的变体。