如何同时映射AutoHotkey热字符串:*?C:iiq::1与:*?C:iq::2?
解决AutoHotkey热字符串冲突问题
你遇到的问题核心是AutoHotkey的热字符串匹配逻辑——它是按代码书写顺序从上到下检查匹配的。短的iq热字符串写在前面的话,输入iiq时,当你敲完第二个字符q,AHK就已经匹配到了iq,直接替换成2,剩下的第一个i就留在了前面,变成i2。
最简单的解决办法就是把长的热字符串放在短的前面,让AHK优先检查完整的长匹配项:
:*?C:iiq::1 :*?C:iq::2
这样输入iiq时,AHK会先匹配到完整的iiq,直接替换成1;输入单独的iq时,才会触发第二个热字符串替换成2,完全符合你的需求。
如果还有特殊场景需要调整,也可以给热字符串加B0选项(禁止自动退格替换),但这种情况用顺序调整就足够解决问题了。
内容的提问来源于stack exchange,提问作者o moli e mi
相关产品推荐
相关产品推荐

