在哪里rcmdnk/vim_ahk
我应该尝试将其重新映射到 AutoHotkey 包(哪个文件caps lock)esc?
我对 AutoHotkey 了解甚少,很长一段时间以来,我的整个 AHK 脚本都由以下部分组成:
#IfWinActive ahk_class Vim
CAPSLOCK::ESC
return
现在我正在使用 vim_ahk 在 Word 和 OneNote 等应用程序中实现类似 Vim 的编辑,我不知道应该在哪里(以及如何)添加大写锁定映射以将效果限制在预期的应用程序中。
本论坛上的 vim_ahk 用户说使用 AHK 重新映射caps lock 给他带来了麻烦(他没有说一般情况下或只是针对软件包)。由于重新映射在 Vim 中对我有用,因此如果可能的话,我也想将它与 vim_ahk 一起使用。
更新如果发布的问题不清楚,请见谅。Vim(编辑器)使用退出插入模式(Vim 概念),但借助 AutoHotkey,Esc我能够改用该模式。caps lock
但是大多数其他程序中不存在这种模式,因此创建了 vim_ahk 以在其中某些程序中实现它(如可自定义变量中枚举的VimGroup
)。与 Vim 一样,vim_ahk 使用Esc退出其伪插入模式,但由于此模式完全是由 vim_ahk 的 AHK 脚本创建的,因此简单的全局模式CAPSLOCK::ESC
不起作用。有关有效的方法,请参阅我的答案,该答案来自 vim_ahk 的创建者。
答案1
并行运行多个 AHK 脚本没有问题。除了冲突之外,它们都可以正常工作。
因此,您不需要进行修改vim_ahk
就可以让您的脚本和vim_ahk
您一起工作。
小提示:
由于您的脚本禁用了 CapsLock,您可以在其开头添加以下行:
SetCapsLockState, AlwaysOff
你的脚本中的命令
return
是多余的。
答案2
答案3
这解决方案来自 vim_ahk 的创建者对我有用。只需在加载 vim_ahk 后添加此代码即可。
#If Vim.IsVimGroup()
CapsLock::Vim.State.HandleEsc()
#If