简单自学AutoHotkey(1)
【引子】
使用电脑有一个特别的习惯,喜欢用各种快捷键完成组合步骤的操作,一旦养成操作习惯后如果转换软件或平台则需要重新磨合,其过程和适应时间都比较长(所以一般用户粘度高的软件都应该是使用习惯难被模仿的)。着重是快捷键的使用,能很大程度的减少繁琐工作。
浏览器这可是每天都高频使用的软件,由于各种扩展、插件、脚本、快捷键等不同,来来回回试用了很多同类软件。最好用的无疑还是GOOGLE CHROME,这里就不对比FIRE FOX、OPERA、EDGE、IE等浏览器了,但CHROME两三年前一次内核升级致很多扩展失效后就也没再使用过。这次由于特殊原因转回CHROME,但没有曾经的扩展,修改DLL文件方式失效,使用环境完全不同,好多年的快捷键习惯不!能!自定义!
这有些像习惯了用筷子吃饭,突然筷子没了只能用一根棍……庆幸找到了今天的主角软件AutoHotkey,这是一款免费的Win平台下开放源代码的热键脚本语言,可以模拟键盘鼠标和调用系统各种接口或第三方程序,可以说我们平时与电脑互动的99%操作都可以搞定。厉害吧,学会它将再也不惧软件的快捷键变化,把各种混合操作使用一键式代替,将使我们在繁琐的重复操作中解脱出来(游戏里的内挂,自动打怪也就是如此性质)。
有了需求那就开始简单的自学吧,对自己来说也是跨界搞事,正好也通过文章的输出整理自学过程!
【简介及安装】
首先需要到官网(https://www.autohotkey.com/)下载AutoHotkey,这个就是脚本源码运行的环境。可以看到官网做得还是比较清新的,直接点击“Download”就可以下载,下载EXE文件按照引导进行安装就可以了(直接NEXT到EXIT搞定)!
安装时的选择直接点两下:Express Installation → Exit(因为我们还没有脚本文件,所以不能Run运行)
安装完成后会弹出英文的帮助文档,这就是一本详尽的说明书,可以在网络上搜索到中文版本。
【一个简单的脚本】
前面说了这是一个脚本语言,需要自己写好脚本代码,代码文件的扩展名是AHK。不搞那么复杂可以直接使用Windows的记事本编辑TXT文本文件,然后手动修改扩展名为AHK结尾即可。如果高阶想像程序猿那样让脚本代码分颜色、行块、辅助代码等功能,推荐使用SciTE编辑器。这里我使用了记事本直接搞定,需求暂时足够了——
(代码案例)如果我想通过按键盘上的Ctrl键加数字键1组合,直接打开百度。可以把代码写成
^1::Run www.baidu.com
这里说明一下脚本运行的机制,反正单线程这种代码是一句一句运行来着的,只需要一行一行处理就能明白,如果碰到复杂的代码那也是一段一段运行的。上面的代码用我们的理解就是“同时按Ctrl和1,打开www.baidu.com网址”。只不过这个AutoHotkey的脚本语言里Ctrl=^,“::”表达的意思是按前面的动作操作则执行后面的内容,代码里的“Run”就是运行、打开的意思,后面再接上www.baidu.com的网址。这样就完成啦!
把这个案例做各种修改,可以加深对AutoHotkey的脚本语言理解。比如同时按Shift和2打开www.sina.com.cn的网址,写成
+2::Run www.sina.com.cn
这样当我们同时按下键盘的Shift和2就能马上打开www.sina.com.cn了。可以尝试多变换着写一写,很快就能掌握这简单的一句脚本代码,通过模仿这个简单示例,自学的大门已经被打开。在AutoHotkey语言里^代表Ctrl,+代表Shift,!代表Alt,#代表Win键,这些都能在帮助文档里查到,还有其他运行动作指令也都有,其实敲代码的过程就是把脑子里的一段动作翻译成计算机语言。
【自学的感受】
现在很多软件其实都有一部分自定义的快捷键,Window也提供了很多快捷打开程序的方式。但如果步骤复杂且需要组合打开则不行,比如上面的随手打开一个网址,同时打开多个程序,或者在程序中没有快捷键功能的复杂操作等等,AutoHotkey可以说就是为了解决这些问题而诞生的。
这里提一下自学的感受,最开始我找各种的帖子,观看新手教程,准备着准备着就花了大量的时间,但迟迟没有动手写一行代码,花了时间脑子里基本没留下什么,最后真正的起点还是通过手写了这么一行代码做为开始。前期设想太多困难和阻力,就要做更多的准备工作,到不如一上来就模仿着敲一段代码,搞定!这个现象在平时里也很常见,各种想自学技能的偏偏都把时间花在前期“准备、预备、筹划”时间上,最后还可能放弃了……所以“只管开始”能帮我们超越很多人达到下一步,由头脑里的创作过渡到现实的创作来。
最后,上面的代码案例太简单啦,在一下篇里我也将进阶完成更高的脚本代码,通过写作当成输出复习。未来的高阶可以去到哪里?比如看到一些特别的学习资料其中有需要百度搜索的,可以直接鼠标选取,一键将结果就呈现眼前……等等太多了只要有想像力!