映射大写仅锁定在vim中?
Posted
技术标签:
【中文标题】映射大写仅锁定在vim中?【英文标题】:Mapping caps lock in vim only? 【发布时间】:2014-10-21 07:10:25 【问题描述】:我真的希望能够将大写锁定键映射到Ctrl
,但只能在 vim 中。我看到了this,但我使用的是 OS X。是否有 OS X 替代 AutoHotKey,或者是否有其他方法可以为修饰键创建特定于应用程序的映射?
【问题讨论】:
可能重复:Using Caps Lock as Esc in Mac OS X This answer 似乎做了你想做的事? 刚刚意识到我确实很想将其映射到Ctrl
并编辑了我的问题。 @Carpetsmoker 我尝试了 Seil(PCKeyboardHack 的当前版本),它似乎没有任何方法可以创建特定于应用程序的映射。
终端 vim 或 macvim。在 macvim 中可能比在终端 vim 中更容易。 (它可能几乎不可能在终端 vim 上表现得很好)
@FDinoff 哦,亲爱的。我希望终端 vim ......如果我可以为所有终端创建一个特定于应用程序的映射,会这样做吗?这对我来说很好。
【参考方案1】:
这会将大写锁定更改为在终端中进行控制。我不相信有一个很好的方法来判断终端何时运行 vim。
-
下载并安装Seil和Karabiner
打开 Seil 并将大写锁定更改为密钥代码 110(PC 应用程序密钥)
打开 Karabiner 并编辑 private.xml(杂项和卸载(选项卡)-> 打开私有 Xml(按钮))。添加在根元素之间添加以下内容。
<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>
单击更改密钥选项卡上的重新加载 XML
检查以下项目(它们应该出现在框的顶部)此时,您应该能够在终端(和 iterm2)中使用大写锁定作为控件,并将大写锁定作为其他任何地方的大写锁定。警告,如果您在大写锁定打开时进入终端,您将无法将其关闭。
(您可能需要在系统偏好设置 -> 键盘 -> 修改键中将 CapsLock 设置为无操作)
如果你希望这也适用于 MacVim 更改
<only>TERMINAL</only>
到
<only>TERMINAL, VI</only>
【讨论】:
非常感谢!这正是我需要的。太棒了。 大写锁定指示灯也将不再点亮,因为它将由Seil/Karabiner
处理!以上是关于映射大写仅锁定在vim中?的主要内容,如果未能解决你的问题,请参考以下文章
Win10下将CapsLock键(大小写锁定键)转换映射成Ctrl键