必须安装作者为evilc的sublimeautohotkey插件,配置硬编码build system路径指向ahk v2/v1的autohotkey.exe,启用auto_complete,等待索引完成,并保存脚本为utf-8 with bom编码。

Sublime Text 本身不运行 AHK 脚本,也不能原生识别 .ahk 文件——所有高亮、补全、Ctrl+B 运行、函数跳转,都依赖插件和手动配置。装错插件、路径写错、索引没等完,三者任一出问题,就会卡在“灰字不标红”“Ctrl+B 报错”“Ctrl+Click 没反应”上。
怎么确认 SublimeAutoHotkey 插件装对了(不是 fincs 旧版)
Package Control 里搜 “AutoHotkey”,至少出现三个同名插件:fincs 的 AutoHotkey、evilC 的 SublimeAutoHotkey、还有个已归档的旧版。只有 SublimeAutoHotkey(作者 evilC)持续维护,支持 ST4 + AHK v2。
- 按
Ctrl+Shift+P→ 输入Package Control: Install Package→ 等列表加载完,搜SublimeAutoHotkey,只点作者栏明确写着evilC的那一项 - 装完重启 Sublime,新建
test.ahk,右下角状态栏必须显示AutoHotkey;若仍是Plain Text,说明没生效 - 失效时删掉
%APPDATA%Sublime Text 4PackagesUser下所有含AutoHotkey或sublime-ahk的文件夹,再重装
Build System 怎么写才不报 “autohotkey not recognized”
这个错误不是 Sublime 的问题,是它根本没找到 AutoHotkey.exe。PATH 方案容易漏加或未重启生效,硬编码路径最稳。
- 菜单 →
Tools→Build System→New Build System… - 粘贴以下内容(注意路径中所有反斜杠必须是双反斜杠
\,单斜杠会解析失败):
{"cmd": ["C:\Program Files\AutoHotkey\v2\AutoHotkey.exe", "$file"], "shell": true, "working_dir": "$file_path", "file_regex": "^([^ ]+)((\d+)):? ?(.*)$", "selector": "source.ahk"}
- 保存为
AutoHotkey.sublime-build(扩展名必须是.sublime-build) - 之后打开任意
.ahk文件,在右下角Build System菜单里手动选它,Ctrl+B才真正调用本地解释器 - 用 AHK v1 的话,把路径改成
C:\Program Files\AutoHotkey\AutoHotkey.exe,别漏掉v2文件夹层级
为什么 if / loop 补全不弹、Ctrl+Click 跳不到函数
补全和跳转不是“装完就开”,有两个隐藏开关必须打开,且首次索引需要几秒等待。
- 确认全局补全已启用:菜单 →
Preferences→Settings,左侧默认设置中搜auto_complete,确保值为true - 函数跳转依赖插件后台索引,首次使用需等右下角状态栏出现
Indexing…提示消失;若一直转圈,删掉%APPDATA%Sublime Text 4PackagesUserSublimeAutoHotkey下的缓存文件夹再重启 - 跳转仅限当前文件内定义的函数,跨文件函数不会被索引,
Ctrl+Click无效是正常行为 - 补全触发需在空行或缩进后输入
if、loop等关键字,然后按Tab;不是自动弹窗,得手动唤起
文件编码和语法自动识别怎么设才不踩坑
中文乱码、.ahk 文件打开还是 Plain Text,往往是因为编码或扩展名映射没配对。
- .ahk 文件必须保存为
UTF-8 with BOM(尤其含中文注释或 MsgBox 内容时),否则运行时报编码错误或中文变问号 - 想让所有
.ahk和.ahk2文件一打开就识别为 AHK 语法:菜单 →Preferences→Package Settings→SublimeAutoHotkey→Settings – User,填入:
{"extensions": ["ahk", "ahk2"]}
- 如果仍显示
Plain Text,右键标签页 →Set Syntax→ 手动选AutoHotkey;再检查是否误装了其他冲突插件
最容易被忽略的是索引完成前就急着测试跳转,以及 v1/v2 解释器路径混用——这两处出错,其他配置全对也白搭。











