使用AutoHotKey(AHK)创建类似于Vim的功能

3
我最近在Windows 8机器上使用autoHotKey,非常喜欢它。但是我想按下大写锁定键,将键盘变成类似于Vim的命令模式,以便在任何程序中轻松移动光标、插入和删除。

更新(感谢@MCL迄今为止的帮助)

我正在尝试使用以下脚本,但它不会根据状态改变行为。

state := GetKeyState("Capslock", "T") 
if state
  j::Send,{Left}
  l::Send,{Right}
  i::Send,{Up}
  k::Send,{Down}
return

酷故事,兄弟。有什么问题吗?你尝试过什么?你遇到了什么具体的问题? - MCL
抱歉,是的,问题在于我无法让AHK根据大写锁定键的状态改变键盘功能。我可以检测到大写锁定键当前是否被按下,但无法确定它是开启还是关闭状态。 - Damo
由于您没有提供任何代码,我只能猜测您没有使用切换模式。请在此处阅读相关信息:http://ahkscript.org/docs/commands/GetKeyState.htm。 - MCL
1个回答

6
使用#If创建上下文敏感的热键:
#If GetKeyState("CapsLock", "T")=1

; The following hotkeys will only be effective if GetKeyState("CapsLock", "T")=1
j::Send,{Left}
l::Send,{Right}
i::Send,{Up}
k::Send,{Down}

#If ; end of #If

1
不需要加上=1,因为GetKeyState本身就是准布尔型。 - MCL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接