目錄
如果你像我一樣,在遇上經常需要重覆執行的動作就會想辦法簡化或建立範本優化流程的話,今天介紹的AutoHotKey自動化工具你一定不可以錯過。
AutoHotKey簡介
AutoHotKey是一個免費開源的巨集指令程式,透過自訂的AutoHotKey腳本自動化鍵盤和滑鼠的操作,做到文字擴展,簡化/映射快捷鍵,快速開啟應用程式及網頁等功能,從而減低按鍵的次數並簡化重覆的步驟,提升我們在使用電腦時的生產力。
安裝AutoHotKey
首先,到AutoHotKey網頁下載AutoHotKey應用程式(以下腳本使用的版本為1.1.36.02版),在安裝完成後,雙擊應用程式檔打開AutoHotKey程式。
在正式開始之前,強烈建議先下載VS code並利用它作為寫指令的工具。原因是視覺上比較美觀之餘這個軟件本來就是寫程式代碼的工具,在更改的時候比較不會出現格式錯誤的機會。那麼接下來讓我們進入AutoHotKey的教學吧!
AutoHotKey語法代碼及基本概念
首先我們來了解一下AutoHotKey的基本語法,AutoHotKey利用不同的符號和文字去代表鍵盤,滑鼠和其執行的動作。
下面是幾個快捷鍵常用的按鍵及代表他們符號:
- ^ 代表
Ctrl
- + 代表
Shift
- ! 代表
Alt
- # 代表
Windows鍵
在AutoHotKey中,分號;
代表著注解的意思,亦即是說AutoHotKey並不會執行分號後的文字/代碼。你可能會有疑問既然不會執行,為什麼要出現在指令中呢?這其實可以理解為給我們自己看的小抄了,代碼越多我們一時之間可以不知道這個代碼是有什麼功能,有了注解就可以很快的知道下面的代碼有著什麼功能了。
創建AutoHotKey腳本及應用情境
AutoHotKey的功能分成兩大類型,一是HotString(熱字串),亦即文字擴展的功能,二是HotKey(熱鍵),也即是令人興奮的快捷鍵功能,接下來我們開始創建自己的腳本吧!
新增腳本的方式簡單,只要在AutoHotKey的程式中點擊New Script(新增腳本),命名腳本並設定儲存腳本的路徑就可以了。
HotString 熱字串
我們可以透過設定自訂的引發文字觸發代替文字,從而減低手動重覆輸入的次數和降低輸入錯誤的機會。首先我們先新增一個AutoHotKey腳本檔,要創建熱字串,我們只要在腳本中輸入兩個冒號,然後輸入引發文字,再輸入兩個冒號,最後輸入代替文字就可以了。
比如我希望輸入「hi」會出現「Hi, How are you?」的話,我就可以輸入以下的程式碼:
::hi::Hi, How are you?
輸入程式碼後儲存腳本,並用滑鼠右鍵點擊腳本檔,並選擇Run Script。設定完成後,在輸入hi然後按任何終止符(即Enter, Tab或空白鍵)就可以成功叫出代替文字了。
那麼要是我希望輸入引發文字後可以直接出現代替文字那要怎麼做呢?很簡單,只需要在第一組冒號中間加入一個星號就可以實現了,程式碼會是這樣:
:*:hi::Hi, How are you?
比如我想寫一個郵件的簽名,需要分行顯示的話,只要在短句/句子前後加上括號,就可以實現分行顯示,以下的程式碼提供參考:
:*:,sign::
(
Best,
Margaret
)
Return
我們也可以利用以下的語法列印出日期:
:*:=tod::
FormatTime, CurrentDate,, d.M.yyyy
SendInput %CurrentDate%
Return
如果你有注意看代碼的話會發現我在第一組冒號後加了一些符號,這是為了防止不小心觸發代替文字的情況。建議在設計引發文字的時候,在引發文字前面加上前綴(符號),減低不小心觸發代替文字的機會。而我自己的文字擴展任務都交給Espanso了,如果文字擴展是你感興趣的功能,可以參考這篇Espanso的介紹文章。
HotKey 熱鍵
快捷鍵相信大家都不陌生了,AutoHotKey的快捷鍵功能強大的地方在於它可以讓我們透過自定義腳本客製化鍵盤按鍵功能,針對滑鼠進行控制,把經常重覆的步驟簡化,那麼下面我們來看看幾個應用情境及其腳本語法吧!
簡化/映射快捷鍵 (Remap HotKey)
映射快捷鍵顧名思義就是把一組快捷鍵「鏡像」到另一組快捷鍵,有的時候快捷鍵的位置分佈到鍵盤不同的位置,怎麼按都不順手,這時候就可以利用映射快捷鍵,讓快捷鍵更附合我們自己的個人鍵盤使用習慣。
比如我想當我按下F3
這個鍵會等於按下Shift+Enter
的的效果,我就可以輸入以下程式碼:
F3::
Send, +{Enter}
Return
相同的在儲存腳本後,滑鼠右鍵點擊腳本檔,並選擇Run Script,在按下F3
時就會出現按下Shift+Enter
這組快捷鍵的效果了。如果你好奇會有什麼效果 – 我把Shift+Enter
設定成叫出Ueli捷徑列的快捷鍵了,想要了解更多關於Ueli捷徑列工具,可以參考這篇文章。延伸閱讀:跟你的滑鼠說再見吧!Ueli捷徑列工具,顛覆傳統電腦導航的生產力工具
新增資料夾
如果你是設計師或剪輯師的話,很有可能你經常需要重覆的新增一些特定名稱的資料夾,雖然Windows本身已經有新增資料夾的快捷鍵了,但是我們可以透過AutoHotKey腳本令這個新增檔案的過程變得更快!
比如我想按下Ctrl+F8
的時候會新增一個叫Graphics的資料夾,我就可以輸入以下程式碼:
#IfWinActive ahk_class CabinetWClass
^F8::
Send, ^+n
Send, Graphics
Send, {Enter}
Return
這組程式碼的意思是,當按下Ctrl+F8
的時候,傳送Ctrl+Shift+n
(即新增資料夾的Windows快捷鍵)的指令,然後鍵入文字Graphics,再傳送Enter的指令。
而在最上面的#IfWinActive的意思是在這個視窗(應用程式)運行時才執行,在這裡ahk_class CabinetWClass是檔案總管的屬性名稱。加起來的意思是在如果檔案總管正在使用中,可以利用Ctrl+F8
創建叫Graphics的資料夾,換句話說,在其他程式中這組快捷鍵是沒法成功激活這個功能的。善用這個代碼可以防止腳本在目標程式以外的地方執行,減少不小心觸發指令的情況。
那麼這個視窗屬性的名稱在哪裡找呢?我們可以打開AutoHotKey應用程式,然後點擊Window spy,就會有一個視窗跳出來,視窗中顯示的第二個項目就是代表視窗屬性,只要打開我們想要知道其屬性的應用程式,再打開Window spy視窗就可以知道這個應用程式的屬性了。
開啟應用程式/特定網頁
想要快速的打開特定的應用程式或網頁,只需要三行代碼就可以做到了!首先先找到我們想要打開的應用程式的完整路徑,
把路徑複製起來,然後在AutoHotKey腳本中輸入以下的程式碼:
^p::
Run, C:\Program Files\Adobe\Adobe Premiere Pro 2021\Adobe Premiere Pro.exe
Return
設定完成後,按下Ctrl+p
這個快捷鍵就可以打開Premiere了! 要打開特定網頁的話,只需要把應用程式路徑改成網址就可以了,以下是程式碼提供參考:
^g::
Run, https://www.google.com
Return
在Google上搜尋框選的文字
接下來這個腳本我很喜歡,雖然在Chrome瀏覽器中有類似的功能但只可以在Chrome中使用,這個腳本可以讓我框選文字後直接在Google中搜尋框選的文字,而且不並受限於在Chrome瀏覽器的環境中使用。
+F1::
{
Send, ^c
Sleep, 50
Run, https://www.google.com/search?q=%clipboard%
Return
}
這段程式碼的意思是說當按下Shift+F1
的時候,傳送複製的指令,然後睡眠50毫秒,然後執行在Google網頁中搜尋剪貼簿的文字的指令。
延伸閱讀:每天都在用Chrome? 你必須知道的10個Chrome瀏覽器使用技巧
檔案總管 – 回到上一層
在找檔案或文件的時候,很多時候我們都需要用上回到上一層的功能,但Alt+上箭頭
這個快捷鍵並不是很順手,可以利用AutoHotKey腳本把這組快捷鍵映射到`
鍵(Tab鍵上面的鍵),在使用檔案總管時更快的導航。
#IfWinActive ahk_class CabinetWClass
`::
Send, !{Up}
#IfWinActive
Return
移動滑鼠並進行點擊
最後一個介紹就比較進階一點,我們可以利用AutoHotKey去控制滑鼠移動並進行點擊,下面這個範例自動化我在剪輯時的一些步驟,當中包括滑鼠移動和進行點擊,可以參考以下的程式碼並更改設定屬於你自己的腳本。
#IfWinActive ahk_class Premiere Pro
F10::
BlockInput, On
Send, +z
Sleep, 500
MouseMove, 561, 712
MouseClick, left
Sleep, 500
Send, 180
Send, {Enter}
BlockInput, Off
Return
其中MouseMove這組參數其實是滑鼠移動到的目標位置,我是利用PowerToys的屏幕尺去得出這個參數的。想知道更多關於PowerToys這個工具可以參考這篇介紹文章。延伸閱讀:最大化你的Windows電腦生產力,PowerToys實用程序全攻略
備忘/實用小貼士
記得Run Script
在更改程式碼並儲存後,記得利用滑鼠右鍵點擊腳本檔,選擇Run Script指令才會更新。漏掉這個步驟的話,即使儲存了腳本檔,指令也不會跟著更新。
關閉覆蓋腳本提醒視窗
在更改腳本檔並點擊Run Script後,會出現一個提醒我們是不是要覆蓋目前腳本的視窗,如果經常修改腳本就得每一次都要手動關閉這個提醒視窗。其實只要在腳本檔的頁首中加入以下的程式碼,這個提醒的視窗就不會再出現了!
#SingleInstance Force
開啟電腦時自動運行腳本
要令我們設定好的指令在開啟電腦時就開始運行,我們首先可以在「開啟」中輸入腳本檔的名稱,並打開其檔案位置。
接著按win+R
鍵打開執行命令視窗,並輸入shell:startup,再點選確定,這時候會打開一個啟動的資料夾。
然後把腳本檔複製起來,將其捷徑貼上到啟動的資料夾,這樣在開啟電腦時我們設定的AHK腳本檔就會自動運行,不需要手動操作運行指令了!
在沒有安裝AutoHotKey的電腦上使用AutoHotKey腳本
如果想要在一台沒有安裝AutoHotKey的電腦上使用腳本,我們可以先把腳本檔轉換成應用程式檔,然後把腳本的應用程式檔複製到外置的儲蓄裝置,並移到另一台電腦上使用。轉換的方法很簡單,只需要用滑鼠右鍵點擊腳本檔,點擊Compile Script(GUI)的選項,並點擊轉換,完成後會生成一個AHK應用程式檔,只要將這個檔案複製到另一台電腦並運行,就可以執行腳本的指令了。
AutoHotKey腳本生成網站
文章快看完了,但是在寫程式碼的時候遇上困難,做不到自己想要的效果,有沒有方法可以自動生成腳本呢?還真的有!我們可以利用AHK腳本生成的網站輔助自己完成腳本,達到自己想要的指令和效果。
結語
AutoHotKey可以讓我們透過客製的腳本控制鍵盤和滑鼠的操作,簡化重覆的步驟和流程,設計屬於自己的快捷鍵,進一步優化在使用電腦時的效率,提升生產力。我正在設計一套適用於影片剪輯的AHK腳本,完成後再來跟你分享,敬請期待!
1 留言
Good read!