AutoHotkey热字符串实现输入回显功能的方法咨询
搞定AutoHotkey的输入回显热字符串
刚好我之前折腾过类似的需求,你想要的其实用正则捕获型热字符串就能轻松实现,一行代码就搞定,完全不用复杂的逻辑。
直接上可用代码
::sendback (?P<echo>.*)::{echo}
实际使用效果
输入 sendback 你要回显的内容,然后按下热字符串的默认触发键(比如空格、逗号或回车),前面的sendback 就会自动替换成你后面输入的内容:
- 输入
sendback wow+ 空格 → 输出wow - 输入
sendback hello AHK+ 回车 → 输出hello AHK
代码逻辑拆解
::sendback (?P<echo>.*)::是触发规则:sendback是固定的触发前缀(注意后面的空格,用来区分前缀和你要回显的内容)(?P<echo>.*)是命名捕获组,专门抓取sendback之后的所有字符,把它们存到名叫echo的变量里
{echo}就是把刚才捕获到的内容直接输出,实现你要的回显效果
进阶小优化
如果你不想用空格触发,只想用回车触发避免输入时误替换,可以给热字符串加个*选项(忽略前面的无关字符):
::*:sendback (?P<echo>.*)::{echo}
这样只有按下回车时才会触发替换,使用起来更稳妥。
内容的提问来源于stack exchange,提问作者R. Reed
相关产品推荐
相关产品推荐

