首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么在Vim中将Esc重新映射到CAPS LOCK会如此复杂?

为什么在Vim中将Esc重新映射到CAPS LOCK会如此复杂?
EN

Stack Overflow用户
提问于 2010-01-27 14:41:39
回答 5查看 15.2K关注 0票数 24

我看到了vim wiki的提示,它说为了将Esc重新映射到CAPS LOCK,你必须编辑下面的windows代码:

代码语言:javascript
复制
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锁?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-01-27 15:01:38

为此,我建议您使用AutoHotkey。

您可以针对每个应用程序进行热键更改:

代码语言:javascript
复制
SetTitleMatchMode,2
#IfWinActive,VIM
   CAPSLOCK::ESC
return

#IfWinActive
   CAPSLOCK::CTRL
return

例如,此脚本在vim中设置caps以进行转义,并控制其他所有位置。

票数 26
EN

Stack Overflow用户

发布于 2010-01-27 15:01:41

没有vim密钥标识符的胶囊锁,所以你必须用扫描码来做。

这就像尝试将ctrl键或shift键映射到某个东西-这些键本身不做任何事情,它们是键修饰符,所以它们不能以同样的方式被捕获。

票数 2
EN

Stack Overflow用户

发布于 2010-01-28 08:51:28

映射必须在操作系统级别完成,而不是vim,因此复杂的问题来自操作系统。例如,在我的Ubuntu机器上,我在~/.Xmodmap中有以下代码

代码语言:javascript
复制
! Esc on caps lock
remove Lock = Caps_Lock
keysym Caps_Lock = Escape

然而,我不认为REGEDIT脚本有那么糟糕。它有点难看,但只有两行!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2145026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档