VPS    微软    Win10    云市场    苹果    Office2016

RunZ - 键盘党利器!用 AutoHotKey 编写的高效快速启动工具 (免费/快速/支持扩展)

 优化辅助       2016-04-19
RunZ - 键盘党利器!用 AutoHotKey 编写的高效快速启动工具 (免费/快速/支持扩展)

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

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

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

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

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

RunZ

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

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

至于第三点。如果一个软件不支持插件扩展,即使自身功能很多,也是“死”的,只能实现作者考虑到的功能,考虑不到的自然无从谈起。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 们会喜欢的一种风格吧。

RunZ

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

RunZ 帮助

RunZ 没有传统的图形配置界面,你可以按「F2」直接修改配置文件,其中有详细的注释,配置示例:
[Config]
RunIfOnlyOne=0
; 如果结果中只有一个则直接运行,注意避免搜到关机、重启等操作
SearchFileDir=A_ProgramsCommon | A_StartMenu
; 搜索的目录,可以使用 全路径 或 ahk 以 A_ 开头的变量,必须以 " | " 分隔
SearchFileType=*.lnk | *.exe
; 搜索的文件类型,必须以 " | " 分隔
SearchFileExclude=卸载
; 排除的文件,正则表达式
SearchFullPath=0
; 搜索完整路径,否则只搜文件名
TCMatchPath=Lib\TCMatch\tcmatch.dll
; tcmatch.dll 地址,如果没有则使用 InStr 匹配
SaveInputText=0
; 退出时保存编辑框内容
RunOnce=0
; 运行一次命令就退出,对展示信息的命令无效
TCPath=c:\totalcmd\totalcmd.exe
; TotalCommander 路径,如果为空则使用资源管理器打开
RunInBackground=1
; 在后台运行
LoadControlPanelFunctions=1
; 加载控制面板中的功能
ExitIfInactivate=0
; 窗口失去焦点后窗口关闭,启用后窗口置顶显示功能失效
WindowAlwaysOnTop=0
; 窗口置顶显示
SaveHistory=1
; 记录历史
HistorySize=26
; 记录历史的数量
AutoRank=1
; 自动根据使用频率调节顺序,因为效率问题,结果不能实时体现,重启或 ctrl + r 后更新
; 图形界面相关参数
[Gui]
ShowTrayIcon=1
FontName=宋体
FontSize=12
WidgetWidth=600
EditHeight=25
DisplayAreaHeight=250
HideDisplayAreaVScroll=0
; 不显示纵向滚动条
ShowCurrentCommand=1
; 在下方显示当前命令
FirstChar=a
; 列表第一行的首字母或数字
DisplayRows=15
; 在列表中显示的行数
DisplayCols=68
; 在列表中显示的文字列数(多出的会被截断),注意包含中文的情况
HideTitle=1
; 隐藏标题栏
; 这里的 command 优先显示,请在下边的 [Command] 后边添加
;
; 文件类型(直接使用 AHK 的 Run() 运行):
; file | 文件路径 | 注释
; 如:
; file | notepad | 记事本
; 注释里可以包含要搜索的字符串,也可以没有:
; file | c:\mine\mine.exe
; 文件路径也可以是网址:
; file | www.baidu.com | 百度 bd
; 如果需要在指定目录运行软件,该配置不支持,请直接在 UserFunctions.ahk 添加
;
; cmd 类型,在 cmd.exe 运行命令,运行后会自动暂停:
; 如:
; cmd | ipconfig | 查看 IP 地址
[Command]
; 映射 RunZ 自身使用的按键:
; key=label
; 等同于
; Hotkey, key, label
; 如(可使用 Test 测试):
; f1=Test
; 具体功能请直接在代码里搜 Hotkey 对应的标签
; key=Default 可取消代码中的按键映射
; 注意优先级比默认的 Alt + 字母数字 系列按键高,如无特殊原因不要修改 Alt 的映射
[Hotkey]
; 语法和 [Hotkey] 一样,但作用范围是全局的
[GlobalHotkey]
#j=ActivateWindow
!space=ActivateWindow
完整配置请参考 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,我添加了部分常用选项的注释:

[general]
simple_search_activate_char=
; 简单搜索前导符号
regex_search_activate_char=?
; 正则搜索前导符号
leven_search_activate_char=<
srch_activate_char=*
preset_activate_char=>
; 加载搜索模版前导符号
simple_search_match_beginning_activate_char=^
and_separator_char=" "
; 与 关系符号
or_separator_char=|
; 或 关系符号
wdx_separator_char=/
negate_char=!
case_sensitive=0
; 大小写敏感
allow_empty_result=0
filter_files_and_folders=3
match_beginning=0
; 从第几个字符开始匹配
use_pinyin=1
; 使用中文
use_korean=0
; 使用韩文
[gui]
override_search=1
invert_result=0
one_line_gui=1
show_presets=0
[presets]
e=.exe|.bat|.com|.scr|.lnk
; 搜索模版,输入 >e 即可搜索对应字符串
[replace]
chars1=》|>
; 搜索前先替换字符,可用于中文输入法没切换的情况
chars2=?|?

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

排序功能灵活方便

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

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

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

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

热键功能

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

灵活的配置

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

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

有道在线词典和翻译:

有道词典

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

RunZ 计算器

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

QR 二维码

控制面板相关功能:

RunZ 控制面板

更多其他内置功能:

RunZ 功能

可以很容易地扩展

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

UserFunctions:
; 第一个参数为标签名
; 第二个为搜索项(内容随意)
; 第三个参数为 true 时,当搜索无结果也会显示,默认为 false
; 第四个参数为绑定的全局热键,默认无
@("UserTest1", "用户测试(ut1)", false, "#p")
@("UserTest2", "用户测试(ut2)")
@("UserTest3", "用户测试(ut3)")
@("UserTest4", "用户测试(ut4)")
@("UserTest5", "用户测试(ut5)")
return

UserTest1:
; 在指定目录启动软件
Run, notepad, c:
return

UserTest2:
; DisplayResult(text) 内置函数用来在列表框展示文本
DisplayResult(clipboard)
return

UserTest3:
; RunWithCmd(cmd) 函数用来在 cmd.exe 里运行命令并暂停
RunWithCmd("ipconfig")
return

UserTest4:
; Arg 是用户在编辑框输入的参数,输入的内容空格之后为参数,可根据自己的喜好分割
MsgBox, % Arg
return

UserTest5:
; UrlDownloadToString(url) 内置函数用来下载文件内容到字符串
DisplayResult(UrlDownloadToString(Arg))
return
大家可以使用 AutoHotKey 强大的 API 完成各种自己想要的功能。

关于 RunZ 的名字

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

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

相关文件下载地址:

官方网站:访问
软件性质:免费开源
解压密码:www.iplaysoft.com

下载 RunZ 快速启动器 (Win)  |  更多启动器软件  |  效率相关  |  辅助工具

各位正在潜水的同学请注意,有 48 位无聊人士 在异次元附近海域出没!
  • 这货很对我口味,相当之好!

    6 10
     
  • 这几天我又进行了很多功能和界面相关升级,界面不再寒酸,功能也更加强大,希望能给更多人带来方便。

    9 10
     
  • AHK编写小工具其实相当好,而且冲着可拓展性赞一下。

    8 10
     
  • 很牛X啊!

    8 10
     
  • 屌爆了,喜欢这种GEEK的风格

    10 10
     
  • 其实有时候想想,这种工具我们真的需要吗?每天常用的软件就那么几个。

    6 10
     
  • 怎么设置开机启动?要是能支持altrun那种右键发送到 快速添加启动命令就完美了

    10 10
     
    • 可直接新建 RunZ.exe 的快捷方式,然后移动到“启动”目录,比如:

      c:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\

      因为添加自启动这种行为比较招人烦,所有我暂时没有添加,下个版本可以考虑。

      6 10
       
    • 已经支持设置成开机自启动了。
      不支持把其他软件设置成自启动,因为我感觉自启动的软件越少越好,可以绑定全局热键让 RunZ
      来启动其他软件。

      8 10
       
  • 有点bug, ipconfig 或者cmd ipconfig 打开的界面闪一下就自动关闭了

    8 10
     
    • 嗯,这个我在 Github 上已经解释过了:

      https://github.com/goreliu/runz/issues/2

      8 10
       
  • 太复杂,讲道理,我还是喜欢rolan 加 listary 搭配。再来个fences 就比较完美了。还可以再用nTrun(也就是Win +R add)设置一下WIN+R 的简洁指令。

    讲道理,搞什么环境变量设置什么注册表什么的,一次两次是觉得挺新鲜好用,但是,每次装机都要整一通,其实是一见很痛苦的事情。几个绿色软件一拖一拽能实现的操作,还要每次去番习evernote来设置是很烦人的。【默默点开evernote看了一下,每次装机至少要设置十几项,真不想折腾太多了。

    6 10
     
    • 记忆力太差的缘故

      9 10
       
  • 哈哈哈哈哈哈好

    7 10
     
  • 壮哉我陌大 !

    6 10
     
  • 一直用极点五笔的命令直通车,难以割舍。

    8 10
     
  • 下载试用发现太复杂, 自带的win+r+单字母简直无敌

    7 10
     
  • 壮哉我大5群!壮哉陌总!

    7 10
     
  • 我用的是nTrun,是一样的方式吗?

    9 10
     
  • 陌大威武,童颜巨乳

    7 10
     
  • 很牛,还需要进一步改进,比如系统应用和UWP应用不能得到关连,番习译只有单词不能语句,等等很多问题,但是也很牛。希望搞个团队开发一下

    9 10
     
    • @刘飞
      Win 10 的系统设置以及 UWP 应用,目前我还没想到运行的办法,以后如果找到方法就会支持。

      番习译调用的是有道的 API,简单语句是可以番习译的。

      9 10
       
  • 怎么感觉没人提到 HoeKey 这个小工具呢,还有 CLaunch 这个软件管理工具。

    个人觉得与其在一堆自定义内容中检索,还不如直接用快捷键调用;或者通过管理器调用,岂不是更方便?比如,鼠标点击屏幕上边缘激活 Claunch 主窗口,点击对应图标启动相应程序,感觉挺方便的。

    10 10
     
    • 同意飞扬大大

      7 10
       
  • 用的WOX感觉绚丽的界面我也挺看重 不过最近的版本是越来越卡了

    10 10
     
  • 自从五年半以前异次元推介了altrun以来我一直用到今天。。。绝对的神逸之作 同时五年多以来也是毫无更新=。=。。。。。。。。。。。。。RunZ在极简道路上更是丧心病狂啊 也就意味着对我等小白来说配置的难度增大了不少
    强烈盼望着ET民工同志能回心转意 重拾altrun。。。

    8 10
     
    • 不能同意太多。

      8 10
       
  • 赞一个~

    10 10
     
  • Everything中毒已深,Alt+E都磨光了。。。不过这个看起来支持功能更多啊。。。

    8 10
     
  • 稍微试验了一下,感觉还是 ALMrun 比较喜欢,主要是一打开里面有200多个已经集成的功能和命令,然后又不能编辑的感觉,一下子觉得好复杂啊,而且修改配置的时候还要编辑文件……

    其实编辑文件也是没问题的,但是设置快捷键什么的感觉有点没兴趣弄,还是用习惯的比较好

    6 10
     
    • 显示的命令上包含开始菜单里快捷方式的,所以比较多。下一个版本会支持将自己不用的功能屏蔽掉。

      8 10
       
  • 我还是比较喜欢altrun,感觉很好用

    10 10
     
  • 我倒是反而喜欢极简界面的,原来那个界面就很好。只有功能强大,使用顺手,没必要用华丽的界面啊。

    9 10
     
    • 可以把背景图片去掉,就是之前那样了。

      8 10
       
  • 用你的鼠标开始一切吧!
    我不是键盘党,我更喜欢懒人应用。
    现在电脑上几个软件基本解决了我应用方式。
    1.硬件:带FN多功能的键盘,超多按键鼠标,再来个牛点的MIC和声卡
    2.软件:
    (1)鼠标中键就给他用。讯飞语音输入法,加入开机启动。再装个五笔,再用改键软件改成F1和鼠标中键语音输入。打字的话能不用手就不用手。(会用到讯飞语音输入法、keytweak键盘改键、XMouseButtonControl 鼠标改键 )
    (2)鼠标右键就分配给他用吧!WGESTURES 鼠标手势屏幕边角处发(添加常用手势如:百度搜索、最大化、最小化、3d任务切换、切换到桌面、后退、前进、刷新、打开浏览器、home键、回车键、声音管理、静音、我的电脑、alt+f4、番习译、腾讯游戏TGP、onenote笔记)
    (3)鼠标4、5功能键就给LWIN+C和lwin(小技巧WIN键开始屏幕可直接输入想打开的东西比WIN+R和这类快启更好用)
    (4)鼠标还有好多键,就自己分配吧,键盘相当于基本不用的东西了。
    2、第4键额这个键盘是干嘛用的?
    (3)chome浏览器,装上各种插件。而且还开机启动直接打开常用的4个页面。add to infinity 、百度热搜、头条新闻、网易音乐、优酷视频。(插件:谷歌番习译、直播关注助手、FEDDLY NOTOFLER、chrono下载管理器、add to infinity、lastpass、adblock plus),平常就一直停住在CHOME里面了,真想所有应用都是网页化,我是不是脑子中毒了中毒了?
    结语:清除所有桌面图标,隐藏好你的任务栏。用你的鼠标开始一切吧!

    8 10
     
  • WIN10把它当病毒杀了

    7 10
     
    • 是运行前就被杀了吗?那个 exe 是官方的 AHK 解释器,不应该吧。如果是运行中,可以是因为它认为创建的发送到菜单有问题。

      7 10
       
  • 我觉得listray的”工程“功能当快速启动相当不错哦,一直在用

    10 10
     
  • 有点厉害啊

    7 10
     
  • 为什么我解压后没有Runz

    9 10
     
    • 解压后,里边第一层是 RunZ 目录,里边就有 RunZ.exe 了。

      7 10
       
  • 不能空格键启动?almrun问题就在关机内存错误和win10不能自动英文输入法。。。

    7 10
     
    • 默认是用 Alt + 空格启动的。

      7 10
       
  • 话说,程序的快捷启动名称哪里自定义?

    9 10
     
    • 如果需要自定义名称,可以用右键发送到菜单发送到 RunZ 之后,编辑 Conf\UserFileList.txt 文件,再加 | 名称。

      9 10
       
  • 我喜欢使用TypeAndRun。我喜欢它的简洁,只占用屏幕上很小的空间。它只显示最匹配你输入的字符串的一个结果,不显示其他的备选项,相当于是自动补全吧。而且,运行时占用的空间也很小。我期待RunZ能够支持这种做法,比如更改配置文件中的一个地方后就会开启类似于自动补全的效果,不显示其他的备选项。RunZ最吸引我的地方是选择了AHK。

    8 10
     
  • 你们网站个个软件都是很精品啊!下载学学先!

    10 10
     
  • 博主你好,请教一个问题
    ————————————–
    AutoHotKey映射键盘非系统快捷键失败

    想通过AutoHotKey映射键盘快捷键,软件默认的快捷键是ctrl+shift+F1,想映射成方便的win+F1;
    我写的代码如下:
    #f1::^!f1

    但是发现失败了;
    经过测试发现,键盘映射只能是系统内的快捷键映射才能生效,比如:
    ;win+f2 代替win+E打开系统资源管理器
    #f2::#e

    那怎么才能让非系统的快捷键也生效呢

    9 10
     





评论内容 (*必填):
Ctrl + Enter 快速提交