映射大写仅限于vim?

时间:2014-08-27 15:46:40

标签: macos vim keymapping capslock modifier-key

我真的希望能够将大写锁定键映射到Ctrl,但仅限于vim。我看到this,但我正在使用OS X.是否有OS X替代AutoHotKey,还是有另一种方法为修饰键创建特定于应用程序的映射?

1 个答案:

答案 0 :(得分:3)

这将更改大写锁定以控制终端。我不相信终端正在运行vim时有一个很好的方法。

  1. 下载并安装SeilKarabiner
  2. 打开Seil并将大写锁定更改为密钥代码110(PC应用程序密钥) caps lock to key code 110
  3. 打开Karabiner并编辑private.xml(Misc& Uninstall(Tab) - > Open Private Xml(Button))。添加在根元素之间添加以下内容。

    <name>Change PC Application Key to CONTROL (Menu Key in TERMINAL)</name>
    <item>
        <only>TERMINAL</only>
        <name>Change PC Application Key to CONTROL (Menu Key in TERMINAL)</name>
        <identifier>remap.termianl_application2control</identifier>
        <autogen>__KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::CONTROL_L</autogen>
    </item>
    
    <name>Change PC Application Key to CAPSLOCK</name>
    <item>
        <name>Change PC Application Key to CAPSLOCK</name>
        <identifier>remap.other_application2capslock</identifier>
        <autogen>__KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::CAPSLOCK</autogen>
    </item>
    
  4. 单击“更改密钥”选项卡上的“重新加载XML”

  5. 检查以下项目(它们应显示在框的顶部) Enable capslock
  6. 此时你应该能够在终端(和iterm2)中使用大写锁定作为控制,并且在大写锁定时将其锁定在其他地方。警告,如果你在大写锁定开启时进入终端,你就无法将其关闭。

    (您可能需要在系统偏好设置中将CapsLock设置为无操作 - &gt;键盘 - &gt;修改键)


    如果您希望这也适用于MacVim更改

    <only>TERMINAL</only>
    

    <only>TERMINAL, VI</only>