Loading
0

【快捷启动】RunZ – 极灵活快速启动神器!用 AutoHotKey 编写的高效快速启动工具 (免费/快速/支持扩展)

追求效率的朋友都需要一款顺手的快速启动工具,Win 平台上有 ALTRun、Wox、 Launchy、ALMRun、Executor、Rolan、系统自带的 Win+R 等,而 Mac 上也有 Alfred、Spotlight。

你觉得总有一个可以满足你的需求吧?嗯,但实际对比试用下来,你可能发现,Win 下这类应用大多都有这样或那样的缺点值得去完善,看似选择很多,实际并不那么美好。于是,异次元的读者 Gore Liu 以自己对启动器的理解, 重新打造了一款免费开源的「RunZ」快速启动软件,以「小巧、高效、可扩展」作为主要特点……

为什么要编写 RunZ 这款快速启动器软件?

为什么在如此多同类启动工具的环境下,还要再花精力重新写一个新的 RunZ 呢?它到底有什么特点?下面,RunZ 的开发者 Gore Liu 本人对此作出了回答:首先,就我 (作者本人) 个人而言,对快速启动工具的最基本需求是这样的:

  1. 体积小,资源占用低,速度快,最好可以不常驻运行。
  2. 项目尚有人维护,有反馈渠道。
  3. 可扩展性强,支持方便地用脚本扩展功能。

这三个要求其实并不算高。比如第一点。因为这类工具的名字就占了“快速”两字,自然唯快不破。如果自身启动不能做到快速,并且常驻运行后占用几十兆甚至更多内存,我是无法接受的。所以 Wox 等工具虽然功能上很强大,但我个人还是选择忽略掉了。

再如第二点。人无完人,软件自然也无完软件,包含 bug 毫不稀奇。但如果软件已经没人维护了,即使包含了一个小 bug,就很让人头疼了,更不用说接受新需求了。Launchy、ALTRun 和 Executor 最近更新时间都是几年前,而且基本上不会再升级了,这是很难让人放心使用的。

至于第三点。如果一个软件不支持插件扩展,即使自身功能很多,也是“死”的,只能实现作者考虑到的功能,考虑不到的自然无从谈起。Launchy 支持插件扩展,但需要复杂的开发环境。ALTRun 和 Executor 不支持扩展,只能通过配置外置命令勉强应付。ALMRun 支持 Lua 扩展,Wox 支持 Python 扩展。

所以总体上 ALMRun 是最能满足我的需求的,我也用了一段时间。但让我放弃的原因是,发现一些小问题,如果要调试的话,编译 ALMRun 需要安装体积庞大的 Visual Studio,而且 ALMRun 是用 7000 多行 C++ 代码实现的,维护成本很高。使用 Lua 语言写扩展的主要问题在于 API 稀少,如果要调用 Windows API 则十分麻烦,写起扩展来捉襟见肘。

在经过综合考虑后,我彻夜未眠地用手机记下各个功能点,然后在接下来的几天写下了你今天所看到的这个 RunZ。

RunZ 快速启动工具的特点

正如之前我提到的三个主要需求:体积小,资源占用低,最好可以不常驻运行;项目尚有人维护,有反馈渠道;可扩展性强,支持脚本扩展功能。嗯,RunZ 自然可以满足!

RunZ 是用 AutoHotKey (AHK / 官网) 编写的,包含了 AHK 解释器也只有 1.4 M,核心代码只有千余行。运行后占用内存不足 10M,而且可以常驻或非常驻运行,随启随用,用完退出,毫无延迟。

因为 RunZ 自身是 AHK 所写,扩展自然也是用 AHK 的。AHK 虽然功能上远没有 C++、Python、C# 之流强大,性能上也不出色,但有着其他语言都没有的先天优点:

  • 开发环境简单。只需要一个不足 1M 的解释器和一个顺手的编辑器,就可以开发了。
  • API 丰富。AHK 提供了很多桌面软件需要用到的 API,而且调用 Windows API 非常方便,这是 Python、Ruby、JavaScript、Perl、Virtual Basic Script 等脚本语言所无法比拟的。
  • AHK 对键盘热键绑定有专门支持,写起来非常容易,而这在其他语言基本上都要费费尽周折。
  • 开发难度低!AHK 脚本的编写易于入门,并不需要太多的编程基础。
  • 网上大量现有的 AHK 脚本代码可以“移植”到 RunZ 上使用,能实现的功能无比丰富!

在功能上,RunZ 也有一些与众不同的特点:

RunZ 超级简约朴素的界面

和很多酷炫的快速启动工具相比,RunZ 的界面简单朴素得有点寒酸,只有三个文本框,第一个用来输入,第二个用来展示功能列表,第三个用来展示当前功能详情。如果感觉底部的文本框也多余,可以在配置文件中去掉。下面是界面截图,连图标都没有,是不是简陋得有点过分?这大概就是 GEEK 们会喜欢的一种风格吧。

操作起来也很简单,回车 执行当前命令,上下方向键或「Ctrl + j」和「Ctrl + k」可以移动当前对应的命令,「Alt + 序号」可以直接执行对应命令。也可以使用鼠标,在命令上点击执行(可配置成选择),右键弹出功能菜单。按「F1」可显示更多帮助,按 「Shift + F1」可以打开置顶的帮助提示。

RunZ 没有传统的图形配置界面,你可以按「F2」直接修改配置文件,其中有详细的注释,配置示例:

 

完整配置请参考 Conf\RunZ.ini.help.txt,如果 Conf 目录中无 RunZ.ini,RunZ 会自动将此文件复制为 RunZ.ini。

搜索功能强大

RunZ 使用 tcmatch.dll 来实现搜索,支持拼音首字母搜索、模糊匹配、正则表达式等功能。发布包自带 tcmatch.dll,使用 Total Commander 的用户也可以在配置里将 tcmatch.dll 路径指向 TC 所在目录,以便共用 tcmatch.ini 配置。

很多人使用 tcmatch.dll 的原因是拼音搜索,但 tcmatch.dll 的功能不仅于此,这里简单普及一下,来看 tcmatch.ini,我添加了部分常用选项的注释:

更多功能等待大家探索,另外 tcmatch.dll 自带 tcmatch.exe,可用于在图形界面修改 tcmatch.ini,因为体积所限我没有将其集成在内,需要的用户可自行去 官网 下载。tcmatch.dll 的搜索功能,比几乎所有现有快速启动工具的搜索功要强大和灵活。

排序功能灵活方便

除了按字词搜索,另一个非常常用的功能是排序,当搜索结果出现多条时,显示的顺序就非常关键了。

RunZ 支持自动按执行频率调整权重,也支持手动按快捷键调整(ctrl + n 权重加一,ctrl + p 权重减一)。

除了权重,有时我们需要查看或执行某一条历史命令,可以按 ctrl + h 查看历史。

此外也可以直接修改配置文件 Conf\RunZ.auto.ini 来调整命令的权重和历史记录,但注意要在 RunZ 关闭时调整,以免被覆盖。

热键功能

从前边贴出的配置文件可以看出,RunZ 可以灵活为各种功能配置全局热键。RunZ 自身的所有功能热键也可以在配置文件调整。写扩展时也可以通过参数绑定热键。对于键盘党来说非常友好!

灵活的配置

RunZ 的配置文件很灵活,支持丰富的选项,比如是否显示托盘图标,是否运行一次命令就退出,是否失去焦点就退出,是否搜索结果只有一条时自动运行,是否运行在后台等等。之后我也会不断添加其他有用的选项。

已自带一些实用方便的扩展

有道在线词典和翻译:

功能强大的计算器,不只支持简单的四则计算:

生成二维码,单击二维码可以保存到文件:

控制面板相关功能:

更多其他内置功能:

可以很容易地扩展

RunZ 内置功能只是我根据喜好添加的,别人未必用的到。但如果想为 RunZ 新增功能,也是非常方便的。Conf\UserFunctions.ahk.help.txt 文件中有几个例子,直接将此文件复制为 UserFunctions.ahk 即可使用:

 

大家可以使用 AutoHotKey 强大的 API 完成各种自己想要的功能。

关于 RunZ 的名字

前三个字母 Run 自然无需解释,最后一个 Z,是字母表最后一个字母。RunZ 的含义就是一步运行到位,不需要去各种地方找软件来运行。

最后,作者表示 RunZ 接受各种新功能需求,你可以查看 更新历史 中是否有你感兴趣的功能。如果有新的需求,或者发现 bug,可以直接和作者反馈,共同将 RunZ 打造成更多人喜爱的快速启动工具。

相关文件下载地址:

链接:https://pan.baidu.com/s/1qYcFHP6 密码:imnl

打赏作者
本文为原创文章,未经同意禁止转载!!