1. 程式人生 > >Windows 自定義全域性快捷鍵

Windows 自定義全域性快捷鍵

Win下最愛效率利器:AutoHotKey

AutoHotkey是一個windows下的開源、免費、自動化軟體工具。它由最初旨在提供鍵盤快捷鍵的指令碼語言驅動(稱為:熱鍵),隨著時間的推移演變成一個完整的指令碼語言。但你不需要把它想得太深,你只需要知道它可以簡化你的重複性工作,一鍵自動化啟動或執行程式等等;以此提高我們的工作效率,改善生活品質;通過按鍵對映,滑鼠模擬,定義巨集等。

如覺此處排版不盡如你意,可移步Win下最愛效率神器:AutoHotKey檢視,(^^)。

圖片來自:zoommyapp.com

如要問__AutoHotKey__是什麼?這是一個仁者見仁,智者見智的問題。你可以將其看作是一個熱鍵增添器,也可以當成改鍵器/螢幕錄製器,或者是遊戲熱鍵外掛等等。你可以在

AutoHotkey 擅長什麼?得到一個方向;筆者這裡只是介紹一些粗淺卻很實用的用法,與諸君分享。

下載安裝AutoHotkey

在瀏覽器中輸入網址 http://www.autohotkey.com/ 進入AutoHotkey的官網,點選“download”下載即可將AutoHotkey儲存到本地磁碟。接著雙擊點選安裝就可以了。

建立AutoHotkey指令碼

安裝完成後預設會在系統盤的“本地文件”下建立一個"AutoHotkey.ahk"指令碼,雙擊以後我們會看到工作列右下角有個圖示,就表示它在運行了[如下圖標註處所示]。我們在裡面寫入相應的對映程式碼然後右擊選擇"reload this script

"執行它就可以開始使用AutoHotkey裡面設定好的功能了。
AutoHotKey

如果我們想在其他地方放置指令碼怎麼辦呢?很簡單,只要新建一個文字文件,將其後綴名改為.ahk然後執行它就行了。所以,在同一臺電腦中,你甚至可以存放多個指令碼。當用不到該指令碼了只需要,滑鼠移到該圖示處,右鍵選擇exit即可,很是方便。

為了方便修改該指令碼,你可以將其放置於你覺得方便的位置,絲毫不影響,雙擊可執行之。我們還可以為該指令碼設定開機自啟動,只需要將該指令碼生成一個“快捷方式”,然後將此快捷方式放置到程式自啟動資料夾之下即可,一般都在這兒:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

如此一開機,就可以使用指令碼中所配置的功能,大為便捷。

簡單實用的例項

這裡簡單說明下指令碼中常用符號代表的含義:

# 號代表 Win 鍵;
! 號代表 Alt 鍵;
^ 號代表 Ctrl 鍵;
+ 號代表 shift 鍵;
:: 號(兩個英文冒號)起分隔作用;
run,非常常用 的 AHK 命令之一;
; 號代表 註釋後面一行內容;

run它的後面是要執行的程式完整路徑(比如我的Sublime的完整路徑是:D:\Program Files (x86)\Sublime Text 3\sublime_text.exe)或網址。為什麼第一行程式碼只是寫著“notepad”,沒有寫上完整路徑?因為“notepad”是“執行”對話方塊中的命令之一。

如果你想按下“Ctrl + Alt + Shift + Win + Q”(這個快捷鍵真拉風啊。( ̄▽ ̄))來啟動 QQ 的話,可以這樣寫:

^!+#q::run QQ所在完整路徑地址。

AutoHotKey的強大,有類似Mac下的Alfred2之風,可以自我定製(當然啦,後者還是強大太多)。所以可以說,她強大與否,在於使用者的你愛或者不愛折騰。學以致用,如果簡單的折騰下,可以使得我們工作效率大幅提升,何樂不為?況且,在見識的增長中,這可以給我們思維帶來極大的營養。以下是筆者常用功能的指令碼配置:

極速開啟網頁

;Notes: #==win !==Alt 2015-05-20  ^==Ctr  +==shift

;=========================================================================
#j::Run www.jeffjade.com
#b::Run https://www.baidu.com/
#c::Run https://www.google.com/
#y::Run http://www.cnblogs.com/jadeboy/
#0::Run https://tinypng.com/
#v::Run https://www.v2ex.com/
;-------------------------------------------------------------------------

這是特常用的功能;如上指令碼,Win+J即可開啟自己個人部落格,Win+0則開啟熊貓網址去壓縮圖片... ...。不管pc焦點何在,使用自己配置的快捷鍵,即可達到所想,方便而快捷,大慰我心。網上衝浪,自然選取了Chrome,配之以Vimium外掛Vimium~讓您的Chrome起飛,分分鐘甩掉滑鼠;生命聊聊不過百年,如此短暫,在滑鼠經常性滑過去來做一些可以更高便捷的事兒,所不必要消耗的一秒半秒,我沒那麼慷慨(即使我會花費更多時間去發發呆)。

溫馨提示: 以下幾個系統預設的 Win 快捷鍵:
Win + E:開啟資源管理器;
Win + D:顯示桌面;
Win + F:開啟查詢對話方塊;
Win + R:開啟執行對話方塊;
Win + L:鎖定電腦;
Win + PauseBreak:開啟系統屬性對話方塊;
Win + Q: 本地檔案/網頁等搜尋;
Win + U: 開啟控制面板-輕鬆使用設定中心;

便捷撥出程式

!n::run notepad
!c::run, D:\SoftwareKit\_jade_new_soft\cmd_markdown_win64\Cmd Markdown.exe
!r:: run, D:\SoftwareKit\_jade_new_soft\cmder_mini\Cmder.exe
!q::run, D:\Program Files (x86)\Tencent\QQIntl\QQUninst.exe
!space::run, D:\Program Files (x86)\Sublime Text 3\sublime_text.exe
;==========================================================================

以上為Alt外加一些鍵來開啟本地應用程式。即便完全可以自己配置熱鍵,但是一旦多了,不常用的話記起來也略顯麻煩。所以選擇Alt鍵組合來開啟本地應用程式。Win鍵來撥出網頁。在有了Launchy這類軟體之後,也就不怎麼過為本地程式配置快捷鍵了。

之前一段時間認為,珍愛生命,就當遠離Windows。在給其配了SSD硬碟,在不斷折騰應用一些軟體,在不斷了解&熟悉Windows之後,這一想法倒也緩和了不少。Windows下的AutoHotKey + Listary + Launchy 組合,倒也有了點Mac下 Alfred2免費功能部分。這一點在Windows下效率必備軟體中有過記載。

一鍵拷貝檔案路徑

^+c::
; null= 
send ^c
sleep,200
clipboard=%clipboard% ;%null%
tooltip,%clipboard%
sleep,500
tooltip,
return

只需要Ctrl+shift+c即可拷貝檔案路徑;方便快捷,爽!。

改掉大寫鍵為Enter

;replace CapsLock to LeftEnter; CapsLock = Alt CapsLock
$CapsLock::Enter

LAlt & Capslock::SetCapsLockState, % GetKeyState("CapsLock", "T") ? "Off" : "On"

!u::Send ^c !{tab} ^v

看網上朋友說CapsLock(大寫切換按鍵)沒怎麼大用處;想來也是,個人每次需要輸入大寫字元,也是配合Shift來實現。那麼此按鍵意義何在?那就改成Enter鍵好了。有時候右手需要操縱滑鼠時候,左手小拇指按此鍵來實現換行,蠻好;既然大寫切換不怎麼常用,那麼用Alt+CapsLock來組合實現也無不妥;以上指令碼即為此意。

縮寫快速打出常用語

::/mail::[email protected]
::/jeff::http://www.jeffjade.com/
::/con::console.log();
::/js::javascript:;
::/fk::軒先生這會子肯定在忙,請騷後。thx。祝君:天天開心,日日欣悅。

AutoHotKey一個很強大之處,在任何能正常顯示 unicode字元的程式中(比如瀏覽器的位址列、MS Word Rtx);如以上程式碼,鍵入/jeff 後,再加空格、或 tab、或回車,就可以觸發縮寫;根據輸入不同方式(空格,tab,回車)輸出的內容後也相應附加了[空格/tab/回車,用起來很是舒爽]; 當然了這裡/jeff也可以配置其他如:jeff,按照個人喜好了。

顏色神偷

^#c::
MouseGetPos, mouseX, mouseY
; 獲得滑鼠所在座標,把滑鼠的 X 座標賦值給變數 mouseX ,同理 mouseY
PixelGetColor, color, %mouseX%, %mouseY%, RGB
; 呼叫 PixelGetColor 函式,獲得滑鼠所在座標的 RGB 值,並賦值給 color
StringRight color,color,6
; 擷取 color(第二個 color)右邊的6個字元,因為獲得的值是這樣的:#RRGGBB,一般我們只需要 RRGGBB 部分。把擷取到的值再賦給 color(第一個 color)。
clipboard = %color%
; 把 color 的值傳送到剪貼簿
return

這個功能,搞Web端還是可以備著的。很好用,按下配置好快捷鍵,即可取得滑鼠所在游標處顏色色值到剪下版中-爽啊。(個人用Win+C撥出了 ChromeAlt+C調出作業部落客戶端__Cmd Markdown__,所以這裡就用了Ctrl+Win+c來取色,也還算方便)

神速啟用/開啟/隱藏程式

#c::
IfWinNotExist ahk_class Chrome_WidgetWin_1
{
    Run "C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe"
    WinActivate
}
Else IfWinNotActive ahk_class Chrome_WidgetWin_1
{
    WinActivate
}
Else
{
    WinMinimize
}
Return

以上這段指令碼可以做到,Chrome的各種狀態切換:Win+C,Chrome沒開啟狀態時候 --> 開啟;開啟沒啟用狀態時候 --> 啟用;開啟處在啟用狀態時候 ---> 隱藏。恩,我用著挺爽的,你也試試?

折騰AutoHotKey總結

折騰是奔著實用才去做的,所以筆者也只是看下可以常用功能而已。其實AutoHotKey遠不止如此;AutoHotkey 學習指南這裡可見一斑。網路上也可以搜出AutoHotKey 懶人包,裡面有二十餘指令碼,如:“計時器”“禁止Win鍵”“秒殺視窗,左鍵加右鍵”云云;需要的話下載即可使用;知乎有一專欄AutoHotkey 之美,粗略掃了下,算是一可以擴充見識之門;AutoHotKey實用指令碼分享一文介紹了一些常用指令碼例項,有興趣更多瞭解AutoHotKey的朋友們,可參看下。

AutoHotKey定有很多好用的功能,此文僅作簡單介紹,拋磚以引美玉。希望知道更多有用玩法的朋友可以慷慨分享,讓我等Coder效率可以提一提,節省那麼些時間:去學習,去把妹(/泡哥),去享受生活。如果可以,也殷切希望,以此篇介紹給不怎麼愛折騰的朋友帶來一點參考。王小波在《思維的樂趣》中引用羅素一言:「須知參差多型,乃是幸福的本源」;如果您不喜歡折騰,這裡並無勉強之意;生活之事,快樂就好。