如何在 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()
如果该函数位于自动执行部分之外,则永远不会被调用。