vim里面如何将esc映射到caps lock?

其实我主要是不知道cap键应该如何表达,例如esc是<ESC>

阅读 10.8k
4 个回答

一般都是在系统内重新修改键盘映射,或者你去买个HHKB

因为vim抓取不到CapsLock吧~
一般谈到的这种互换都是OS级别的
windows下用remapkey,GUI拖拽的方式,后端会自动改注册表,改完注销,即生效
linux下用通过改xmodmap命令的配置文件.Xmodmap #ubuntu下试过,支持ln链接,其他版本我不敢说
而xmodmap在linux的文本界面(tty1-6)下无效…,"听说"要改内核映射才行,不清楚。

新手上路,请多包涵

用AutoHotkey,脚本如下:

classname = ""
keystate = ""

*Capslock::
WinGetClass, classname, A
if (classname = "Vim")
{
SetCapsLockState, Off
Send, {ESC}
}
else
{
GetKeyState, keystate, CapsLock, T
if (keystate = "D")
SetCapsLockState, Off
else
SetCapsLockState, On
return
}
return

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进