1

我正在尝试进行许多文本替换。一些替换触发缩写是其他触发缩写的前缀,如下所示:

:*:foo::the
:*:fooed::there

目前,这会产生:

foo = "the"
fooed = "theed"

“foo”,作为“fooed”的前缀,发射得太快了。这可以通过删除“*”并需要一个结束字符来轻松解决。但是,这种方式具有我想保留的有价值的预测文本功能。

我可以看到这样做的方式是在键入“foo”后立即进行热字符串替换,但将“foo”保留在热字符串“剪贴板”中。然后,当添加“ed”时,整个剪贴板将被“fooed”,这将自动触发替换到“there”。使用空格或句点等结束字符后,剪贴板将重置。

任何人都可以帮助我了解 AHK 语法吗?

4

1 回答 1

0

不确定这是否是您要查找的内容,但您可以使用热键之类的热字符串...您可以尝试使用 foo 热字符串中的“KeyWait”命令或“Input”命令,检查输入的下一个字母是否为“e”。如果用户按下“e”,则使用“Return”跳过 foo 热键...如果按下任何其他键,则触发热字符串。这不是一个完美的想法,但它更接近,您可以在语句中添加您选择的任何错误处理。

“我可以看到这样做的方式是在键入“foo”后立即进行热字符串替换,但将“foo”保留在热字符串“剪贴板”中。然后,当添加“ed”时,完整的剪贴板将是“fooed”,这将自动触发替换到“there”。使用空格或句点等结束字符后,剪贴板将重置。- 看起来工作量太大了。剪贴板是一个善变的项目,应该保留用于罕见的用途......更不用说这样的事情需要额外的 - 非常烦人的 - 计算。

于 2009-08-27T15:42:01.520 回答