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


当前回答

如果你不想安装第三方应用程序,并且你真的只关心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。

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

其他回答

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

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

In order to actually swap the escape key with the caps lock key (not just map one to the other) using both PCKeyboardHack and KeyRemap4MacBook, you have to follow the instructions in this thread, mapping the caps lock key to a keycode not used by the keyboard but accounted for by KeyRemap4MacBook (eg. 110). Then, in PCKeyboardHack, select the appropriate option that maps that keycode to escape (in the case of 110, it's "Application Key to Escape"). Here's what your KeyRemap4MacBook preferences should look like (provided you've selected the "show enabled only" checkbox).

我最初试图发布这个信息作为cwd的优秀答案的编辑,但它被拒绝了。我鼓励任何想要走我描述的路线的人先读一下他/她的回答。

Karabiner-Elements 一个功能强大和稳定的键盘定制macOS。(免费)

https://pqrs.org/osx/karabiner/index.html

为我在莫哈韦把大写键改成退格键

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

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