2014-12-04 39 views
3

我一直在使用autoHotKey最近在Windows 8机器上,并热爱它。但我希望能够按大小写锁定并将键盘变成像命令模式的vim,以便在任何程序中轻松移动光标,插入和删除。使用AutoHotKey(AHK)创建类似Vim的功能

UPDATE(感谢@MCL的帮助到目前为止)

我试着用下面的脚本,但它不会基于状态

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

酷的故事,兄弟。有什么地方有问题吗?你试过的东西?你遇到的任何确切问题? – MCL 2014-12-04 09:35:29

+0

对不起,是的问题是我不能让AHK根据正在使用的大写锁定来改变主要功能。我可以检测到大写字母当前正在按下,但并不是它处于打开或关闭状态。 – Damo 2014-12-04 09:40:17

+0

既然你没有提供任何代码,我只能猜测你没有使用切换模式。阅读它[这里](http://ahkscript.org/docs/commands/GetKeyState.htm)。 – MCL 2014-12-04 09:55:16

回答

5

创建上下文相关的热键更改行为#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 
+0

不需要'= 1',因为无论如何'GetKeyState'都是准布尔值。 – MCL 2014-12-04 13:42:40

+0

完美地工作,谢谢大家 – Damo 2014-12-04 14:14:13