美文网首页
gvim 将 Caps 键更改为 Esc

gvim 将 Caps 键更改为 Esc

作者: Whyn | 来源:发表于2017-10-12 21:58 被阅读63次

    在 Windows 中,如果想在 vim 中将大写键 Caps 更改为 Esc 键,是无法使用 vim 脚本提供的命令进行修改,因此,只能通过更改系统按键(注册表)或者拦截按键事件进行转换。

    对于第一种更改系统按键,对于 Windows 就是要修改注册表,但是这样做的话,效果同样会影响到其它的应用。

    而采用第二种方法,我们既可以让它全局生效,也可以指定更改按键行为只发生在特定应用中。甚至于,借助跨平台按键修改工具,可以使得我们的按键更改行为在不同的平台上都能使用。

    我们这边使用的按键修改工具为:AutoHotKey

    下面我们编写一个按键脚本,让它只在 vim 中将 Caps 键替换为 Esc 键:

    1. 下载安装 AutoHotKey
    2. 鼠标右键 - 新建 - AutoHotKey Script,重命名为 cpas2esc.ahk,然后输入如下内容:
    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
    
    1. 双击执行 cpas2esc.ahk,这样,在 vim 中按下 Caps 键就会被拦截转换成 Esc 键。

    更多详细信息,请查看:Map caps lock to escape in Windows

    相关文章

      网友评论

          本文标题:gvim 将 Caps 键更改为 Esc

          本文链接:https://www.haomeiwen.com/subject/emxayxtx.html