你能修复我的Ctrl+Left Ctrl+Shift+Left脚本吗



这只是有点不像我想要的。它工作得很好,但如果我想按住函数,它会执行一次操作并添加数字,而不是重复函数。我想要一些东西来加快Ctrl+左箭头、Ctrl+shift+左箭头和Ctrl+Right arrow&Ctrl+Shift+右箭头,这样我可以更快地处理文本。https://www.youtube.com/watch?v=VNRCQx0eWA0你可以看看我在这里所指的例子,以及哪里出了问题。我在视频标题中标出了错误。

script.ahk脚本内容

^1::
Send ^{Left Down}^{Left Down}
return
^2::
Send ^{Left Down}^{Left Down}^{Left Down}
return
^3::
Send ^{Left Down}^{Left Down}^{Left Down}^{Left Down}
return
^4::
Send ^{Left Down}^{Left Down}^{Left Down}^{Left Down}^{Left Down}
return
^5::
Send ^{Left Down}^{Left Down}^{Left Down}^{Left Down}^{Left Down}^{Left Down}
return
^6::
Send ^{Right Down}^{Right Down}
return
^7::
Send ^{Right Down}^{Right Down}^{Right Down}
return
^8::
Send ^{Right Down}^{Right Down}^{Right Down}^{Right Down}
return
^9::
Send ^{Right Down}^{Right Down}^{Right Down}^{Right Down}^{Right Down}
return
^0::
Send ^{Right Down}^{Right Down}^{Right Down}^{Right Down}^{Right Down}^{Right Down}
return
^+1::
Send ^+{Left Down}^+{Left Down}
return
^+2::
Send ^+{Left Down}^+{Left Down}^+{Left Down}
return
^+3::
Send ^+{Left Down}^+{Left Down}^+{Left Down}^+{Left Down}
return
^+4::
Send ^+{Left Down}^+{Left Down}^+{Left Down}^+{Left Down}^+{Left Down}
return
^+5::
Send ^+{Left Down}^+{Left Down}^+{Left Down}^+{Left Down}^+{Left Down}^+{Left Down}
return
^+6::
Send ^+{Right Down}^+{Right Down}
return
^+7::
Send ^+{Right Down}^+{Right Down}^+{Right Down}
return
^+8::
Send ^+{Right Down}^+{Right Down}^+{Right Down}^+{Right Down}
return
^+9::
Send ^+{Right Down}^+{Right Down}^+{Right Down}^+{Right Down}^+{Right Down}
return
^+0::
Send ^+{Right Down}^+{Right Down}^+{Right Down}^+{Right Down}^+{Right Down}^+{Right Down}
return
#q::exitApp
Keys := ["1","2","3","4","5","6","7","8","9","0"]
for each, key in Keys
{
Hotkey, ^%key%, Ctrl_Key, On 
Hotkey, ^+%key%, Ctrl_Key, On
}
return
Ctrl_Key:
last_Key := ""
Index := ""
last_Key := SubStr(A_ThisHotkey, 0)
If (last_Key = 0)
Index = 5
else
If (last_Key < 6)
Index := last_Key + 1
else
Index := last_Key - 4
Loop %Index%
{
If (last_Key < 6) and (last_Key > 0)
{
If GetKeyState("Shift","P")
Send +^{Left}
else
Send ^{Left}
}
else
{
If GetKeyState("Shift","P")
Send +^{Right}
else
Send ^{Right}
}
}
; Don't repeat the action before key is released: 
KeyWait, %last_Key%
return

请参阅文档中的For Loop、Hotkey和SubStr,如果您不理解某些内容,请随时询问。

从所有命令中删除down。正确的语法是:

^1::
send ^{left}
return

要重复,你可以在数字括号内写一个数字,例如重复选择5次:

^+5::
send ^+{right 5}
return

最新更新