我目前正在使用Seil重新映射大写封锁以在OSX 10.11上逃脱。每当我检查htop时,只是为了看看当系统没有做任何事情(程序打开但没有做太多处理)时运行的是什么,Seil总是在那里并且在其CPU和内存使用方面有所波动。它可能不是什么大不了的事情,但考虑到我只使用vim来偶尔使用平面文本文件,因此总是运行这个东西感觉很疯狂。我不想每次使用vim时都要启动Seil。我最好选择禁用大写锁定并将桥连接到逃生键吗? Vim是OSX的标准配置,并且在没有重新映射到某些东西的情况下无法使用,所以我认为这会出现而不是依赖别人为它制作应用程序。
答案 0 :(得分:2)
您可以将大写锁定键重新映射到键盘设置中的 control 键(单击Modifier Keys
按钮)。
在vim中, esc 的别名是 control - [,这比到达 esc <更容易获取< / kbd> key。
导航到主文件夹
下的Library/Preferences/ByHost
目录
cd ~/Library/Preferences/ByHost
识别隐藏属性列表文件
ls -a | grep Global
将其分配给shell变量以便以后轻松引用
pfile=$(ls -a | grep Global)
确保新创建的变量pfile
具有正确的值。它看起来应该是这样的:.GlobalPreferences.7D7C488E-0E83-5562-B58B-011C540890F3.plist
echo $pfile
进行备份以防万一出现可怕的错误
cp $pfile{,.bak}
将pfile复制到主目录并将其转换为xml
cp $pfile ~/keys-binary.plist
plutil -convert xml1 -o ~/keys-xml.plist ~/keys-binary.plist
打开文件并搜索文字HIDKeyboardModifierMappingSrc
和HIDKeyboardModifierMappingDst
。将值integer
下的HIDKeyboardModifierMappingDst
标记设置为5,HIDKeyboardModifierMappingSrc
下设置为0,如下所示。
<key>com.apple.keyboard.modifiermapping.1452-588-0</key>
<array>
<dict>
<key>HIDKeyboardModifierMappingDst</key>
<integer>5</integer>
<key>HIDKeyboardModifierMappingSrc</key>
<integer>0</integer>
</dict>
</array>
保存,然后转换回二进制文件
plutil -convert binary1 -o ~/keys-binary.plist ~/keys-xml.plist
最后,将此文件复制回ByHost
目录,替换原始文件。
在更改生效之前,您需要注销并重新登录。重新登录后,将以下行添加到.vimrc
:
noremap <Esc>Op <Esc>
noremap! <Esc>Op <Esc>
如果你在终端打开vim,这将有效。如果您正在使用gvim,请尝试我引用的Solution 2 by eelco以使用几个不同的映射来编写此帖子,以使其在终端中正常工作。
另请注意,为此,必须检查“终端首选项”中的允许VT100应用程序键盘模式选项。