追求效率的朋友都需要一款順手的快速啟動(dòng)工具,Win 平臺上有 ALTRun、Wox、 Launchy、ALMRun、Executor、Rolan、系統自帶的 Win+R 等,而 Mac 上也有 Alfred、Spotlight。
你覺(jué)得總有一個(gè)可以滿(mǎn)足你的需求吧?嗯,但實(shí)際對比試用下來(lái),你可能發(fā)現,Win 下這類(lèi)應用大多都有這樣或那樣的缺點(diǎn)值得去完善,看似選擇很多,實(shí)際并不那么美好。于是,異次元的讀者 Gore Liu 以自己對啟動(dòng)器的理解, 重新打造了一款免費開(kāi)源的「RunZ」快速啟動(dòng)軟件,以「小巧、高效、可擴展」作為主要特點(diǎn)……
為什么要編寫(xiě) RunZ 這款快速啟動(dòng)器軟件?
為什么在如此多同類(lèi)啟動(dòng)工具的環(huán)境下,還要再花精力重新寫(xiě)一個(gè)新的 RunZ 呢?它到底有什么特點(diǎn)?下面,RunZ 的開(kāi)發(fā)者 Gore Liu 本人對此作出了回答:首先,就我 (作者本人) 個(gè)人而言,對快速啟動(dòng)工具的最基本需求是這樣的:
- 體積小,資源占用低,速度快,最好可以不常駐運行。
- 項目尚有人維護,有反饋渠道。
- 可擴展性強,支持方便地用腳本擴展功能。

這三個(gè)要求其實(shí)并不算高。比如第一點(diǎn)。因為這類(lèi)工具的名字就占了“快速”兩字,自然唯快不破。如果自身啟動(dòng)不能做到快速,并且常駐運行后占用幾十兆甚至更多內存,我是無(wú)法接受的。所以 Wox 等工具雖然功能上很強大,但我個(gè)人還是選擇忽略掉了。
再如第二點(diǎn)。人無(wú)完人,軟件自然也無(wú)完軟件,包含 bug 毫不稀奇。但如果軟件已經(jīng)沒(méi)人維護了,即使包含了一個(gè)小 bug,就很讓人頭疼了,更不用說(shuō)接受新需求了。Launchy、ALTRun 和 Executor 最近更新時(shí)間都是幾年前,而且基本上不會(huì )再升級了,這是很難讓人放心使用的。
至于第三點(diǎn)。如果一個(gè)軟件不支持插件擴展,即使自身功能很多,也是“死”的,只能實(shí)現作者考慮到的功能,考慮不到的自然無(wú)從談起。Launchy 支持插件擴展,但需要復雜的開(kāi)發(fā)環(huán)境。ALTRun 和 Executor 不支持擴展,只能通過(guò)配置外置命令勉強應付。ALMRun 支持 Lua 擴展,Wox 支持 Python 擴展。
所以總體上 ALMRun 是最能滿(mǎn)足我的需求的,我也用了一段時(shí)間。但讓我放棄的原因是,發(fā)現一些小問(wèn)題,如果要調試的話(huà),編譯 ALMRun 需要安裝體積龐大的 Visual Studio,而且 ALMRun 是用 7000 多行 C++ 代碼實(shí)現的,維護成本很高。使用 Lua 語(yǔ)言寫(xiě)擴展的主要問(wèn)題在于 API 稀少,如果要調用 Windows API 則十分麻煩,寫(xiě)起擴展來(lái)捉襟見(jiàn)肘。
在經(jīng)過(guò)綜合考慮后,我徹夜未眠地用手機記下各個(gè)功能點(diǎn),然后在接下來(lái)的幾天寫(xiě)下了你今天所看到的這個(gè) RunZ。
RunZ 快速啟動(dòng)工具的特點(diǎn)
正如之前我提到的三個(gè)主要需求:體積小,資源占用低,最好可以不常駐運行;項目尚有人維護,有反饋渠道;可擴展性強,支持腳本擴展功能。嗯,RunZ 自然可以滿(mǎn)足!
RunZ 是用 AutoHotKey (AHK / 官網(wǎng)) 編寫(xiě)的,包含了 AHK 解釋器也只有 1.4 M,核心代碼只有千余行。運行后占用內存不足 10M,而且可以常駐或非常駐運行,隨啟隨用,用完退出,毫無(wú)延遲。
因為 RunZ 自身是 AHK 所寫(xiě),擴展自然也是用 AHK 的。AHK 雖然功能上遠沒(méi)有 C++、Python、C# 之流強大,性能上也不出色,但有著(zhù)其他語(yǔ)言都沒(méi)有的先天優(yōu)點(diǎn):
- 開(kāi)發(fā)環(huán)境簡(jiǎn)單。只需要一個(gè)不足 1M 的解釋器和一個(gè)順手的編輯器,就可以開(kāi)發(fā)了。
- API 豐富。AHK 提供了很多桌面軟件需要用到的 API,而且調用 Windows API 非常方便,這是 Python、Ruby、JavaScript、Perl、Virtual Basic Script 等腳本語(yǔ)言所無(wú)法比擬的。
- AHK 對鍵盤(pán)熱鍵綁定有專(zhuān)門(mén)支持,寫(xiě)起來(lái)非常容易,而這在其他語(yǔ)言基本上都要費費盡周折。
- 開(kāi)發(fā)難度低!AHK 腳本的編寫(xiě)易于入門(mén),并不需要太多的編程基礎。
- 網(wǎng)上大量現有的 AHK 腳本代碼可以“移植”到 RunZ 上使用,能實(shí)現的功能無(wú)比豐富!
在功能上,RunZ 也有一些與眾不同的特點(diǎn):
RunZ 超級簡(jiǎn)約樸素的界面
和很多酷炫的快速啟動(dòng)工具相比,RunZ 的界面簡(jiǎn)單樸素得有點(diǎn)寒酸,只有三個(gè)文本框,第一個(gè)用來(lái)輸入,第二個(gè)用來(lái)展示功能列表,第三個(gè)用來(lái)展示當前功能詳情。如果感覺(jué)底部的文本框也多余,可以在配置文件中去掉。下面是界面截圖,連圖標都沒(méi)有,是不是簡(jiǎn)陋得有點(diǎn)過(guò)分?這大概就是 GEEK 們會(huì )喜歡的一種風(fēng)格吧。

操作起來(lái)也很簡(jiǎn)單,回車(chē) 執行當前命令,上下方向鍵或「Ctrl + j」和「Ctrl + k」可以移動(dòng)當前對應的命令,「Alt + 序號」可以直接執行對應命令。也可以使用鼠標,在命令上點(diǎn)擊執行(可配置成選擇),右鍵彈出功能菜單。按「F1」可顯示更多幫助,按 「Shift + F1」可以打開(kāi)置頂的幫助提示。

RunZ 沒(méi)有傳統的圖形配置界面,你可以按「F2」直接修改配置文件,其中有詳細的注釋?zhuān)渲檬纠?br>[Config]完整配置請參考 Conf\RunZ.ini.help.txt,如果 Conf 目錄中無(wú) RunZ.ini,RunZ 會(huì )自動(dòng)將此文件復制為 RunZ.ini。
RunIfOnlyOne=0
; 如果結果中只有一個(gè)則直接運行,注意避免搜到關(guān)機、重啟等操作
SearchFileDir=A_ProgramsCommon | A_StartMenu
; 搜索的目錄,可以使用 全路徑 或 ahk 以 A_ 開(kāi)頭的變量,必須以 " | " 分隔
SearchFileType=*.lnk | *.exe
; 搜索的文件類(lèi)型,必須以 " | " 分隔
SearchFileExclude=卸載
; 排除的文件,正則表達式
SearchFullPath=0
; 搜索完整路徑,否則只搜文件名
TCMatchPath=Lib\TCMatch\tcmatch.dll
; tcmatch.dll 地址,如果沒(méi)有則使用 InStr 匹配
SaveInputText=0
; 退出時(shí)保存編輯框內容
RunOnce=0
; 運行一次命令就退出,對展示信息的命令無(wú)效
TCPath=c:\totalcmd\totalcmd.exe
; TotalCommander 路徑,如果為空則使用資源管理器打開(kāi)
RunInBackground=1
; 在后臺運行
LoadControlPanelFunctions=1
; 加載控制面板中的功能
ExitIfInactivate=0
; 窗口失去焦點(diǎn)后窗口關(guān)閉,啟用后窗口置頂顯示功能失效
WindowAlwaysOnTop=0
; 窗口置頂顯示
SaveHistory=1
; 記錄歷史
HistorySize=26
; 記錄歷史的數量
AutoRank=1
; 自動(dòng)根據使用頻率調節順序,因為效率問(wèn)題,結果不能實(shí)時(shí)體現,重啟或 ctrl + r 后更新
; 圖形界面相關(guān)參數
[Gui]
ShowTrayIcon=1
FontName=宋體
FontSize=12
WidgetWidth=600
EditHeight=25
DisplayAreaHeight=250
HideDisplayAreaVScroll=0
; 不顯示縱向滾動(dòng)條
ShowCurrentCommand=1
; 在下方顯示當前命令
FirstChar=a
; 列表第一行的首字母或數字
DisplayRows=15
; 在列表中顯示的行數
DisplayCols=68
; 在列表中顯示的文字列數(多出的會(huì )被截斷),注意包含中文的情況
HideTitle=1
; 隱藏標題欄
; 這里的 command 優(yōu)先顯示,請在下邊的 [Command] 后邊添加
;
; 文件類(lèi)型(直接使用 AHK 的 Run() 運行):
; file | 文件路徑 | 注釋
; 如:
; file | notepad | 記事本
; 注釋里可以包含要搜索的字符串,也可以沒(méi)有:
; file | c:\mine\mine.exe
; 文件路徑也可以是網(wǎng)址:
; file | www.baidu.com | 百度 bd
; 如果需要在指定目錄運行軟件,該配置不支持,請直接在 UserFunctions.ahk 添加
;
; cmd 類(lèi)型,在 cmd.exe 運行命令,運行后會(huì )自動(dòng)暫停:
; 如:
; cmd | ipconfig | 查看 IP 地址
[Command]
; 映射 RunZ 自身使用的按鍵:
; key=label
; 等同于
; Hotkey, key, label
; 如(可使用 Test 測試):
; f1=Test
; 具體功能請直接在代碼里搜 Hotkey 對應的標簽
; key=Default 可取消代碼中的按鍵映射
; 注意優(yōu)先級比默認的 Alt + 字母數字 系列按鍵高,如無(wú)特殊原因不要修改 Alt 的映射
[Hotkey]
; 語(yǔ)法和 [Hotkey] 一樣,但作用范圍是全局的
[GlobalHotkey]
#j=ActivateWindow
!space=ActivateWindow
搜索功能強大
RunZ 使用 tcmatch.dll 來(lái)實(shí)現搜索,支持拼音首字母搜索、模糊匹配、正則表達式等功能。發(fā)布包自帶 tcmatch.dll,使用 Total Commander 的用戶(hù)也可以在配置里將 tcmatch.dll 路徑指向 TC 所在目錄,以便共用 tcmatch.ini 配置。
很多人使用 tcmatch.dll 的原因是拼音搜索,但 tcmatch.dll 的功能不僅于此,這里簡(jiǎn)單普及一下,來(lái)看 tcmatch.ini,我添加了部分常用選項的注釋?zhuān)?/p>[general]
simple_search_activate_char=
; 簡(jiǎn)單搜索前導符號
regex_search_activate_char=?
; 正則搜索前導符號
leven_search_activate_char=<
srch_activate_char=*
preset_activate_char=>
; 加載搜索模版前導符號
simple_search_match_beginning_activate_char=^
and_separator_char=" "
; 與 關(guān)系符號
or_separator_char=|
; 或 關(guān)系符號
wdx_separator_char=/
negate_char=!
case_sensitive=0
; 大小寫(xiě)敏感
allow_empty_result=0
filter_files_and_folders=3
match_beginning=0
; 從第幾個(gè)字符開(kāi)始匹配
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=》|>
; 搜索前先替換字符,可用于中文輸入法沒(méi)切換的情況
chars2=?|?
更多功能等待大家探索,另外 tcmatch.dll 自帶 tcmatch.exe,可用于在圖形界面修改 tcmatch.ini,因為體積所限我沒(méi)有將其集成在內,需要的用戶(hù)可自行去 官網(wǎng) 下載。tcmatch.dll 的搜索功能,比幾乎所有現有快速啟動(dòng)工具的搜索功要強大和靈活。
排序功能靈活方便
除了按字詞搜索,另一個(gè)非常常用的功能是排序,當搜索結果出現多條時(shí),顯示的順序就非常關(guān)鍵了。
RunZ 支持自動(dòng)按執行頻率調整權重,也支持手動(dòng)按快捷鍵調整(ctrl + n 權重加一,ctrl + p 權重減一)。
除了權重,有時(shí)我們需要查看或執行某一條歷史命令,可以按 ctrl + h 查看歷史。
此外也可以直接修改配置文件 Conf\RunZ.auto.ini 來(lái)調整命令的權重和歷史記錄,但注意要在 RunZ 關(guān)閉時(shí)調整,以免被覆蓋。
熱鍵功能
從前邊貼出的配置文件可以看出,RunZ 可以靈活為各種功能配置全局熱鍵。RunZ 自身的所有功能熱鍵也可以在配置文件調整。寫(xiě)擴展時(shí)也可以通過(guò)參數綁定熱鍵。對于鍵盤(pán)黨來(lái)說(shuō)非常友好!
靈活的配置
RunZ 的配置文件很靈活,支持豐富的選項,比如是否顯示托盤(pán)圖標,是否運行一次命令就退出,是否失去焦點(diǎn)就退出,是否搜索結果只有一條時(shí)自動(dòng)運行,是否運行在后臺等等。之后我也會(huì )不斷添加其他有用的選項。
已自帶一些實(shí)用方便的擴展
有道在線(xiàn)詞典和翻譯:

功能強大的計算器,不只支持簡(jiǎn)單的四則計算:

生成二維碼,單擊二維碼可以保存到文件:
控制面板相關(guān)功能:

更多其他內置功能:

可以很容易地擴展
RunZ 內置功能只是我根據喜好添加的,別人未必用的到。但如果想為 RunZ 新增功能,也是非常方便的。Conf\UserFunctions.ahk.help.txt 文件中有幾個(gè)例子,直接將此文件復制為 UserFunctions.ahk 即可使用:; 復制此文件為 UserFunctions.ahk 即可使用大家可以使用 AutoHotKey 強大的 API 完成各種自己想要的功能。
global Arg
UserFunctions:
; 第一個(gè)參數為標簽名
; 第二個(gè)為搜索項(內容隨意)
; 第三個(gè)參數為 true 時(shí),當搜索無(wú)結果也會(huì )顯示,默認為 false
; 第四個(gè)參數為綁定的全局熱鍵,默認無(wú)
@("UserTest1", "用戶(hù)測試(ut1)", false, "#p")
@("UserTest2", "用戶(hù)測試(ut2)")
@("UserTest3", "用戶(hù)測試(ut3)")
@("UserTest4", "用戶(hù)測試(ut4)")
@("UserTest5", "用戶(hù)測試(ut5)")
return
UserTest1:
; 在指定目錄啟動(dòng)軟件
Run, notepad, c:
return
UserTest2:
; DisplayResult(text) 內置函數用來(lái)在列表框展示文本
DisplayResult(clipboard)
return
UserTest3:
; RunWithCmd(cmd) 函數用來(lái)在 cmd.exe 里運行命令并暫停
RunWithCmd("ipconfig")
return
UserTest4:
; Arg 是用戶(hù)在編輯框輸入的參數,輸入的內容空格之后為參數,可根據自己的喜好分割
MsgBox, % Arg
return
UserTest5:
; UrlDownloadToString(url) 內置函數用來(lái)下載文件內容到字符串
DisplayResult(UrlDownloadToString(Arg))
return
關(guān)于 RunZ 的名字
前三個(gè)字母 Run 自然無(wú)需解釋?zhuān)詈笠粋€(gè) Z,是字母表最后一個(gè)字母。RunZ 的含義就是一步運行到位,不需要去各種地方找軟件來(lái)運行。
最后,作者表示 RunZ 接受各種新功能需求,你可以查看 更新歷史 中是否有你感興趣的功能。如果有新的需求,或者發(fā)現 bug,可以直接和作者反饋,共同將 RunZ 打造成更多人喜愛(ài)的快速啟動(dòng)工具。
相關(guān)文件下載地址:
官方網(wǎng)站:訪(fǎng)問(wèn)
軟件性質(zhì):免費開(kāi)源
解壓密碼:www.iplaysoft.com
下載 RunZ 快速啟動(dòng)器 (Win) | 更多啟動(dòng)器軟件 | 效率相關(guān) | 輔助工具


