我如何使大写锁定工作像Esc在Mac OS X?
当前回答
在macOS Sierra中,将Caps Lock键映射为Esc键要容易得多。
打开系统首选项→键盘。 点击右下角的修改键按钮。 单击要重新映射的硬件键旁边的下拉框,然后选择Escape。 单击“确定”并关闭“系统首选项”。
https://9to5mac.com/2016/10/25/remap-escape-key-action-macbook-pro-macos-sierra-10-12-1-modifier-keys/
其他回答
在尝试了以上几种解决方案后,我总结了以下几点:
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)。
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的优秀答案的编辑,但它被拒绝了。我鼓励任何想要走我描述的路线的人先读一下他/她的回答。
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"
}
}
]
}
这是有可能的。
解决方案1
摘自trueintimacy网站上的一篇文章。
下载并安装PCKeyboardHack。 进入系统首选项中的PCKeyboardHack。 启用“Change Caps Lock”并设置键码为53。
解决方案2
这个解决方案不涉及修补键盘驱动程序,而是提供了一个特定于Vim的解决方案。
OS X支持将大写锁键映射到一大堆键,但你必须“手动”,编辑.plist文件。本文描述了这个过程。作为提示的补充,我建议你首先在系统首选项中将Caps-Lock设置为None,然后你只需要更改.plist文件中的一个值。当然,您也可以使用属性列表编辑器,而不是执行XML转换步骤。
诀窍是将“Caps Lock”键映射到“Help”键(代码6),这在大多数键盘上都没有。但如果它是,它将被视为插入键,你可能不会使用它,因为你要求重新映射你的Caps Lock以防止伸展你的手;)
然后你可以在vim中将帮助键和插入键映射为Esc键。
map <Help> <Esc>
map! <Help> <Esc>
map <Insert> <Esc>
map! <Insert> <Esc>
这将适用于gvim (Vim.app)。我没有让它与终端中的vim一起工作,我也没有用MacVim测试它。
因此,这是一个相当复杂的、不成熟的解决方案,或者安装一个第三方的黑客。你自己选;)
编辑:刚刚注意到解决方案3,如果你使用MacVim,你可以使用Ctrl,选项和命令作为Esc。使用系统首选项,将Caps Lock映射到其中一个键是很简单的。
推荐文章
- 在Mac OS X上哪里安装Android SDK ?
- 强迫自己掌握vi的最好方法是什么?
- Mac/OS X上的/var/lib/docker在哪里
- Xcode构建失败“架构x86_64未定义的符号”
- 如何回到行之前编辑的最后一个在Vim?
- 在OSX 10.11中安装Scrapy时,“OSError: [Errno 1]操作不允许”(El Capitan)(系统完整性保护)
- 如何在Mac OS X 10.6中使硬件发出哔哔声
- 从Cocoa应用程序执行一个终端命令
- Android Studio无法找到有效的Jvm(与MAC OS相关)
- 如何跳转到一个特定的人物在vim?
- 如何删除一个大的文本块而不计算行?
- NSRange从Swift Range?
- 如何在交互式Python中查看整个命令历史?
- 在OSX中永久设置PATH环境变量
- 如何停止mysqld