公众号:晨光树下,QQ学习交流群:164660119
简单示例
AutoHotkey是一款强大、开源的热键脚本工具。在以往的文章里,我介绍了很多强大的效率提升工具,其中包括Wox、Listary、QuickLook等。如果说这些软件在某些领域独树一帜,那么AutoHotkey则是在则是“无所不能”的强大工具。
易用性和功能的灵活性往往是成反比的,举一个极端的例子,开发语言这类工具在使用方面非常不友好,但是经过开发语言的各种组合可以实现各种手机、PC端软件数不胜数的功能。当然,由于它的使用偏于专业,所以更多人选择定制化较强、界面友好的工具,但是却要牺牲一些灵活性。
Autohotkey是一款介于纯编程语言和分发软件之间的一款工具,你可以使用它写一些简单的脚本语言,用内置的一些函数或者自定义的函数去单独或组合使用,以达到我们期望的功能,下面先来看一个示例。
先看一个简单的AutoHotkey脚本,
^j::
Send, This is a Hotkey!
return
::hs::This is a HotString!
^#s::
Run, D:\Sublime Text3\sublime_text.exe
然后鼠标右键点击编译,或者双击脚本运行,然后点击对应的快捷键,
这个演示包括三个动作:
快捷键启动sublime
快捷键输入“This is a Hotkey!”
快捷字符输入“This is a HotString!”
回到前面给出的AutoHotkey脚本,来一步一步的解释怎么实现的。
第一个动作:快捷键启动sublime
^#s::
Run, D:\Sublime Text3\sublime_text.exe
这句命令实现的是快捷键启动sublime。
第一行中^和#是两个代表按键的符号,分别代表ctrl和windows,s就是键盘上的s键,::可以认为是命令的结束符号。
第二行中Run是一个内置函数,用于运行一个工具或者打开一个网页,后面跟的是要打开的网页或者软件路径(如果已经加入到环境变量,就不需要完整的安装路径)。
因此,上述两行脚本的功能就是ctrl+win+s就可以打开sublime这款软件。
第二个动作:快捷键输入“This is a Hotkey!”
^j::
Send, This is a Hotkey!
return
看完第一个动作的介绍,应该很容易理解这个动作,
第一行的含义是ctrl+j快捷键。
第二行的含义是发送一段字符串。
第三个动作:快捷字符输入“This is a HotString!”
::hs::This is a HotString!
这个和前两个动作不同,介绍这个动作之前需要先简单的了解一下AutoHotkey,它主要包括两个概念:
hotkey
hotstring
其中hotkey并不陌生,就是热键、快捷键,前两个动作实现的就是快捷键。
这里需要说一下hotstring,顾名思义,就是通过一段字符串实现一个快捷功能,第三个动作实现的就是一个hotstring功能。
现在回过头来解释一下第三个动作的脚本的含义,
两个::之间定义的是快键字符串,后面跟随的是要输入的完整字符串,这样的话在文本框输入hs然后点击Tab键即可在编辑器中输入This is a HotString!这个完整的字符串。
很多人用惯了快捷键会疑问,hostring有什么价值?我认为它对于开发者或者文本编辑相关的工作者是非常有意义的。我们可以在脚本中预先用一些hostring定义好我们常用的代码块或者文字内容,这样,当输入对应的hostring时就可以快速补全我们想要的内容,速度和资源消耗要远远小于常用的代码补全工具。
热键符号
通过前面的简单示例,想必应该对AutoHotkey有了简单的了解,它就是通过一些内置的符号、函数、自定义函数来任意组合,定制化的实现我们想要的功能。
通过示例中第一个动作^#s代表快捷键ctrl+win+s可以看出,热键符号具有至关重要的作用,我们怎么就知道^代表ctrl、#代表win呢?因为官网给出了不同符号的对应关系,下面是各个符号对应的热键,
注:我们都知道,alt、ctrl、shift这些键都有两个,左右两边均有,<和>两个符号就指定使用左边的符号还是右边的符号,例如<!指定使用左边的Alt键。
标签
在示例中,我们也看到使用了Run、Send,这两个称为AutoHotkey的标签,虽然我是以大写字母开头,但是标签名称其实是部分不区分大小写的,可以由空格、制表符、逗号、转义符以外的任何字符组成,但是由于样式的约定,通常最好使用字母、数字、下划线,AutoHotkey常用的内置标签有如下几个,
下面看一个例子,
^j::
Run, https://www.baidu.com
MsgBox, 已经打开网页!
return
有了前面的基础,应该很容易理解这个脚本,它是一个组合功能,分别是打开网页和弹出对话框,下面看看效果,
函数
想要更加灵活,仅仅使用上述这些符号、标签显然是不够的。和大多数编程语言一样,AutoHotkey也支持自定义函数,这才是它的强大之处。
AutoHotkey内置了一些常用的函数,如下,
函数描述
当然,AutoHotkey内置的函数远不止这些,它还包括以下类型的函数:
文件读取
数学计算
条件判断
异常处理
状态获取
鼠标键盘
屏幕状态
声音
进程管理
窗口状态
......
没错,AutoHotkey在功能和丰富性方面丝毫不亚于一些老的脚本语言,但是它的优点是更加实用。我们可以即写即用,能够辅助我们日常生活中多种场景的工作。
使用场景
快捷启动
这方面它可以替代Wox、Listary这些快速启动工具,我们可以把常用的网站、软件用脚本的方式定义不同的hotkey或者hotstring,当我们需要打开一个网页或者软件时就不需要再繁琐、多步骤的去寻找、打开。
例如用下面这个脚本,能够快速打开优酷、B站、直播吧,
^y::
Run, https://www.youku.com/
return
^b::
Run, https://www.bilibili.com/
return
^z::
Run, https://www.zhibo8.cc/
return
自动补全
我们在日常开发或者文本编辑时,会有大量重复的工作,以编程为例,我们会有很多重复的代码块,因此,才有各种各样的补全工具,但是目前大多数补全工具可以说是差强人意,速度方面甚至不及自己手动敲代码的速度,但是通过AutoHotkey把我们常用的代码块、文本用hotkey、hotstring代替,这样能够快速的补全我们想要的内容,
例如,用下面几行脚本补全我们常用的代码片段,
::np::import numpy as np
::plt::from matplotlib import pyplt as plt
::tf::import tensorflow as tf
效率提升
关于效率提升,这就因人而异,不同的人工作内容不同,因此常用的操作和功能也截然不同,这方面就需要发散思维,总结一下平时自己常用的操作,例如管理进程、取色、文件读取、编程、数学运算等,可以根据自己的需求,使用内置的或者自定义的函数来组合成自己想要的功能,当然,AutoHotkey内置了很多标签、函数,这足以满足日常大多数场景的需求。
软件分发
我们经常在能够在开源平台寻找到很多别人写的软件,其实自己也可以利用AutoHotkey实现一些比较有趣、高效的工具,它不像C++、Java那么难以入门,而且在代码规范方面要求没那么严格,因此门槛相对较低。此外,AutoHotkey脚本的编译非常迅速,资源消耗低,能够一键编译成我们常见的exe软件,这样的话可以把它分享给周围的同学、同事,或者更多的人,这样在提高周围人效率的同时能够锻炼自己的产品思维和开发规范。
安装与基本操作
下载安装包
AutoHotkey是一款开源免费的工具,能够直接从官网下载AutoHotkey的安装包,
如果觉得麻烦,也可以在公众号后台回复关键字hot获取安装包。
安装
双击下载的安装包,会弹出安装界面,直接一步步往下点击即可,如果需要更改安装路径,可以在location页面进行更改。
新建脚本
成功安装后,在桌面或者其他空白处点击鼠标右键-新建-AutoHotkey Script,来创建一个AutoHotkey脚本。
编辑脚本
创建脚本后,鼠标右键点击脚本,可以看到有三个选项:Run Script、Compile Script、Edit Script。
可以先点击Edit Script,它会用记事本打开,当然也可以用sublime、UE、notepad++等文本编辑器打开,然后进行编辑。
编辑之后可以双击脚本直接运行,也可以点击Run Script运行脚本,这样就可以使用我们脚本中定义的快捷键或者快捷字符串,此外,还可以点击Compile Script把脚本编译成exe文件,这样的话脚本会被加密,可以用于分发,其他使用者就无法看到工具源码。
软件下载,请关注公众号【平凡而诗意】~
网友评论