如何在 AutoHotKey 热字符串中屏蔽第一行的“:”?

如何在 AutoHotKey 热字符串中屏蔽第一行的“:”?

如何在 AutoHotKey Hotstring 中屏蔽第一行的“:”?我想输入“colors:”并得到“red, violet, blue”。

::colors':::
Send, 
(
red, violet, blue
)
return

答案1

:是一个結束角色默认情况下。你只需要定义

::colors':: ; or/and  
::colors::
Send, 
(
red, violet, blue
)
return

:并在输入colors'或后按colors

答案2

您可以使用Hotstring()功能如果您希望触发字符串以冒号结尾:

Hotstring("::colors:", "red, violet, blue")

然后,当您输入“colors:” + 时Space,您将获得文本“red, violet, blue ”——请注意尾随空格。如果您不想要尾随空格,您可以将触发字符串更改为:O:colors:。请参阅热字符串文档以获得更多选项。


如果你的 AHK 脚本还包含用双冒号标签定义的热字符串(例如::foo::bar),则必须定义它们使用函数定义热字符串Hotstring()

; WRONG - the second hotstring won't work
::shapes::triangle, circle, rectangle
Hotstring("::colors:", "red, violet, blue")
; CORRECT
Hotstring("::colors:", "red, violet, blue")
::shapes::triangle, circle, rectangle

这是因为脚本中的第一个热字符串标签(或第一个return、或热键标签)结束了脚本的exit自动执行部分。因此,Hotstring()如果该函数位于自动执行部分之外,则永远不会被调用。

相关内容