分享

使用 AutoHotkey 热字串简化你的重复工作 不仅仅是扩展热键功能

 樵夫1964 2021-02-18

AutoHotkey (AHK) 很多小伙伴都听过他的大名。AHK 是一个 Windows 下的开源、免费、自动化软件工具。

源码库: https://github.com/Lexikos/AutoHotkey_L

中文文档: http://ahkcn./docs/AutoHotkey.htm

顾名思义,AHK 肯定与快捷键有关。没错,我最初也认为他是用来填补 Windows 全局快捷键的工具。但他的功能要远超出他本身名字的范畴。(起个好名字多么重要!

  • 它可以简化你的重复性工作,一键自动化启动或运行程序。

  • 提供 Text extend 功能,类似于输入法中的自定义短语,但是可以自定义编程。

  • 通过按键映射,模拟鼠标,模拟手柄,模拟任何实体输入工具。

    AHK 可以导出为 exe 程序,直接分发。

    基于以上特性,自然联想到,AHK 可以用来做外挂啊!!!

所以,喜欢玩游戏的同学,其实你很有可能已经在无形之中使用过 AHK 了。

如果你对脚本语言有所了解,那学习 AHK 易如反掌。浏览一遍官方 Quick Start,基本就可以上手编写脚本了。

虽然,AHK 脚本饱受争议,但对于我这种懒人来讲,一切能代替重复工作的工具,都是效率神器。(真香!

注意:由于 AHK 是模拟控制器输入,在执行力自动化脚本之前,一定要将输入法调整为英文状态如果没有在编写脚本的时候,手动指定作用域,请一定要确认当前焦点

为什么选 AHK

我是个偏好 Markdown 写作风格的人,不喜欢在写作过程中被排版等其他因素打断思路。而且具有精神洁癖,喜欢使用优雅的开源工具。(懒!

最初的想法是用 python 接受输入,然后自动输出格式化文本,手动复制粘贴美滋滋。但仅为了这一个功能,配置 python 再写一堆代码,想想就觉得很蠢。之后又想直接写个 shell 脚本吧,但始终没决定用什么 shell,外加我又是个脚本苦手。(蠢!

Windows 历史剪贴板:当大量文本存在于剪贴板内时,找到 Pin 并不是一件容易的事。(烦!


输入法自定义短语:可以实现文本扩展功能,但是可定制性等于 0。

被逼无奈踏上自我救赎之路!

AHK 的热字串示例:

  1. :*:;img:: ; YYYY/MM/ as path, 'clipboard'.png, output an .

  2. landianImage := ''

  3. SendRaw, %landianImage%

  4. Return

AHK 的热键示例:

  1. ^#k:: ; CTRL + WIN + K, creat 'clipboard' link, open in new tab.

  2. landianLink := ' ' . Clipboard . ''

  3. SendRaw, %landianLink%

  4. Return

AHK 的局限

由于 AHK 是模拟输出,所以实际与剪贴板内容交互时会存在意料之外的 bug。(坑!


比如:剪贴板一大段内容中存在 #r 这两个字符,调用 Send 命令后,输出过程就相当于在键盘上按下了 Win + R,然后将剩余的字符一个一个的输入进运行窗口中。此外,AHK 默认情况下作用域仅限于当前活动窗口,所以一旦开启了中文输入法,调用 Send 命令后,就跟用脸滚键盘效果差不多

所以,使用任何自动化工具时,都需要谨慎,做好数据备份。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多