Autohotkey Hotstrings 使用变量

问题描述

现在我有

:R:#bn:: \binom{}{}

#bn 是我创建二项式的快捷方式

我想要的是我可以打字 #bn_a_b(或其他任何东西)
每次我输入 a,b 时都会得到 \binom{a}{b} 可能是不同的数字或字母。

这可能吗?

(也可用于: #for x 创建 对于 x =

一个 x)

解决方法

例如,您可以使 #bn 成为您的热字串,然后使该热字串触发 Input(docs) 命令,如下所示:

:*B0:#bn::
    Input,outp,L2 V
    characters := StrSplit(outp)
    SendInput,% "{BS 5}{Text}\binom{" characters[1] "}{" characters[2] "}"
return

*B0 options 用于热字符串使其不需要 ending character 并且不会自动退格,因此您可以看到自己先输入整个内容.

L2V options 用于输入命令以将其长度限制为两个字符并使输入在键入时可见。

{BS 5}(docs1,docs2) 用于发送五个退格(擦除热字串触发器)。

{Text}(docs) 用于启用文本发送模式以逐字解释后面的大括号。


或者,您可以查看这个库来创建动态热字符串
https://autohotkey.com/board/topic/98728-dynamic-hotstrings/
我不能说它是(或不是),还没有真正使用过它。