AutoHotKey脚本笔记

AutoHotKey脚本笔记

这篇文章主要记录我在使用AutoHotKey脚本的过程中的一些心得, 方便自己以后查阅~

  1. 超长字符串赋值

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
text=
(
热字串和自动替换

入门和简单示例

尽管热字串主要用于在您输入缩写时进行扩展(自动替换), 但是它们也可以用来运行任何脚本动作. 从这个角度看, 它们类似于 热键, 只是它们通常由多个字符组成(即字符串).

要定义热字串, 请用两个双冒号包围用来触发的缩写, 例如:

::btw::by the way
在上面的例子中, 每当您输入缩写 btw 时会被自动替换为 "by the way"(不过, 默认情况下您必须在输入 btw 后输入 终止符, 例如空格, 句点或回车).

上面的 "by the way" 示例被称为自动替换热字串, 因为输入的文本被自动替换为第二个双冒号后指定的字符串. 与之相比, 热字串还可以定义用来执行任何自定义动作, 例如. 注意命令必须放在热字串的 下面.

S↓
::btw::
MsgBox You typed "btw".
return

:*:]d:: ; 此热字串通过后面的命令把 "]d" 替换成当前日期和时间.
FormatTime, CurrentDateTime,, M/d/yyyy h:mm tt ; 看起来会像 9/1/2005 3:53 PM 这样
SendInput %CurrentDateTime%
return
尽管上面的两个例子不是自动替换的热字串, 但默认情况下您输入的缩写也会被擦除. 这是通过自动退格来实现的, 此特性可以通过 b0 选项 禁用.

终止符

除非使用了 星号选项, 否则您必须在热字串cd /d && clear
的缩写后输入 终止符 才能触发它. 开始时终止符包含下列字符: -()[]{}':;"/\,.?!`n `t(注意 `n 是回车, `t 是 Tab, 且在它们之间还有一个原义的空格). 通过编辑下列示例可以改变这个字符集合, 这个例子中为 所有的 热字串设置新的终止符, 而不仅是在它下面的那些.

S↓
#Hotstring EndChars -()[]{}:;'"/\,.?!`n `t
选项

可以使用下面的两种方式改变热字串的默认行为:
)
FileAppend, %text%, 1.txt