[英]Replicate ++ operator via AutoHotKey script?
假设我正在使用文本编辑器进行编程,并且想要迭代一个变量:
i++
现在,出于某种原因,我们说这种语言不是++
,而是:
i = i + 1
当您习惯第一种语法时,这很烦人。 我想要一个脚本,该脚本在接收++
时会将其转换为我发送的一系列命令(控制左移箭头等,这不是我遇到的麻烦)。
但是我似乎无法执行此方法:
+ & +::
Msgbox test
return
不管出于什么原因,这都没有被完全调用-键入时我看不到+
的击键,因此我知道某种程度上已经可以使用该方法了,但是没有注册第二个+
。
如何使用击键++
作为触发器来调用方法?
有一个很棒的库,叫做RegEx Powered Dynamic Hotstrings 。 和更换someVar++
与someVar = someVar + 1
的正则表达式的恶臭 !
这一行将满足您的要求:
hotstrings("(\w+)\+\+", "%$1% = %$1% {+} 1")
这将适用于每个字母数字变量名称(加下划线): [a-zA-Z0-9_]
当然,这并不是对每种语言都有效,因为它很大程度上取决于语法。 例如,某些语言使用:=
来分配表达式,其他语言则需要使用分号来完成一条语句,依此类推...
在这种情况下,Hotstrings会起作用,但是,您可能需要使用“?” 使其即使在一个“单词”内也可以抓住的修饰符,请尝试如下操作:
:*?:++::
ClipboardOld := ClipboardAll,Clipboard := ""
Send, +^{Left}^c
Clipwait
Send, ^{Right} = %Clipboard% {+} 1
Clipboard := ClipboardOld,ClipboardOld := ""
return
这也会保留剪贴板。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.