繁体   English   中英

通过AutoHotKey脚本复制++运算符?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM