我看到了VIM Wiki技巧,它说要将ESC拆下为CAPS锁定,您必须编辑以下Windows代码:

REGEDIT4
[HKEY_CURRENT_USER\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00

是否可以通过仅在_vimrc中添加或修改行来将ESC锁定到CAPS锁定?

有帮助吗?

解决方案

我建议您为此使用Autohotkey。

您可以进行每次申请热键更改:

SetTitleMatchMode,2
#IfWinActive,VIM
   CAPSLOCK::ESC
return

#IfWinActive
   CAPSLOCK::CTRL
return

例如,该脚本设置了帽子以在VIM中逃脱,并控制其他任何地方。

其他提示

Capslock键没有VIM密钥标识符,因此您必须使用扫描代码进行操作。

这就像试图将CTRL键或移动键映射到某些东西一样 - 这些钥匙不会自己做任何事情,它们是钥匙修饰符,因此它们不能以相同的方式被困。

映射必须在操作系统级别而不是VIM上完成,因此并发症来自OS。例如,在我的Ubuntu机器上,我有以下内容 ~/.Xmodmap:

! Esc on caps lock
remove Lock = Caps_Lock
keysym Caps_Lock = Escape

但是,我认为Regedit脚本并不那么糟糕。这有点丑陋,但是只有两行!

您也可以尝试一下: Sharpkeys。我伸出了cap锁,然后逃脱了。

您也可以使用CTRL-C逃脱(至少在VIM中可用)。这是我通常使用的。不过,我通常会交换控制和capslock,并且已经通过Ubuntu中的Windows和键盘上的注册表设置来完成。

编辑:正如@mmontu所指出的那样,Ctrl-C比ESC更残酷:如 这个适当的问题,

vim不会打扰检查您是否只是写了缩写的一部分,并且不会运行您的插件设置的花式自动命令,每次离开插入模式

我没有注意到,因为我的vimming还不那么先进。

对我来说效果很好的另一个替代方法是使用发现的说明这个网站

本质上:安装Microsoft的键盘布局创建器,然后编辑其源代码,以允许盖帽锁定并创建自己的自定义布局。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top