mac osx 上的 ironahk;hello world 可以工作,但热字符串不行

mac osx 上的 ironahk;hello world 可以工作,但热字符串不行

我在运行 osx 的 MacBook 上安装了 mono 和 ironahk。

example.ahk 运行良好并显示“hello world”消息框。

当我尝试输入一个带有热字符串的文件时,例如:

:*:狗::[电子邮件保护]

它崩溃了。我做错了什么。热字符串在 Windows XP 上运行正常。

答案1

您的热线:

:*:dog::[email protected]


在 Windows 7x64 上的 AutoHotKey 上运行良好。IronAhk 崩溃可能是因为它循环,因为字符串“dog”是输出字符串的一部分“[电子邮件保护]“。换句话说,IronAhk 的行为‘可能’有所不同,因为它想要输出:

dalmation@dalmation@dalmation@dalmation@[email protected]  

,不断替换字符串中的“dog”。我不知道 IronAhk 是从头开始编写的,还是仅仅是针对各种平台编译的 Ahk 的修改版本。

在 AutoHotKey 中,字符串dog不会触发,因为它仅在它是一个单独的单词时起作用dog(不在字符串中,除非您使用 :?*:)。

不幸的是,IronAHK 还没有关于热字符串的文档。

第一个建议:首先尝试用不同的触发词启动输出字符串。

:*:dpe::[email protected]

第二个建议:改用 send

:*:dpe::Send, [email protected]

第三个建议:在多行脚本中使用 send

:*:dpe::
    Send, [email protected]
Return


最后但并非最不重要的一点是,使用字典中的单词来触发热字符串可能会导致写作时的挫败感。这就是为什么我的大多数触发词都以独特字符\=]或结尾.

在你的情况下,应该是 :*:dog::。它\位于Enter钥匙附近,因此很容易找到。

我实际上有几类热字符串,它们都具有唯一的结束字符:
这样我就可以在不同的语言中使用相同的触发字符串。我有时甚至用它来“翻译”难以书写的单词。

\是荷兰语,
=是英语,
]是通用单词(例如 AutoHotKey)。
.是用正确的点来散布缩写。

这样我就可以输入:
eg.并将其变成e.g.
eg=并将其变成for example
eg\并将其变成even geduld

相关内容