CapsLock魔改大法——變廢為寶實現高效編輯


前言

    CapsLock,也就是鍵盤左邊中間那個大寫鎖定。平時很少會用到,跟shift功能重復不談,更多的時候還會帶來各種額外的麻煩。 一直以來的都是一個非常礙事討厭的存在。就是這么一個垃圾鍵,偏偏卻占了最方便的輔助鍵位位置。萬能神奇小軟件AutoHotKey,程序員的好幫手,小拇指的大救星,提供了一個簡單可靠的解決方案來幫助廣大的程序員變廢為寶。比起其他鍵盤改造方案,它不像Dvorak這類鍵盤映射,在你臨時ShowTime總會添亂;也不像HHKB這類硬件外設,攜帶不便帶還額外要錢。一個隨身攜帶的小腳本,或者二百K的可執行文件。就可以把這個方便的小工具隨身帶着跑。有了它,媽媽再也不用擔心我的打字。

功能概述:

       把Capslock改造成了一個新的輔助按鍵(類似Ctr,Alt,Shift,Win)。提供類似Vim的光標操作,提供便捷的導航按鍵與刪除控制。提供Windows風格的最常用編輯按鍵組合。提供常用程序快捷方式,提供簡易窗口標簽控制。當然最最重要的,Capslock本身映射到了ESC上,簡直廣大VIM黨的福音。下面提供一種現成的設計方案供參考,並描述設計思路。各位當然還是自己怎么順手怎么改。圖省事當然也有現成的EXE和AHK腳本能用哈~。

設計思想:

  1. 導航鍵:

    

  h, I, j, kVIM的傳統導航方向鍵,但是必須在命令模式下才能使用。這就導致了任何希望移動光標的行為都要麻煩左手小拇指按一下ESC先。由於必須先摁ESC進入命令模式再移動光標,這樣效率就不如兩個鍵同時摁高。所以呢,將CapsLock+H, I, J, K改造為上下左右四個光標鍵,這樣不僅提高了光標移動命令的效率,更重要的是可以直接在VIM的輸入模式中移動光標,而且這種鍵位修改和傳統VIM鍵位是不沖突的,可以在SSH中同時使用,效果拔群,堪稱一大加速神器。同時呢,這幾個按鍵映射在其他地方也管用,等於是將VIM的光標操作搬到整個操作系統中了。最后額外的特性就是:按下Alt再進行上述所有導航操作,等價於平時Shift+導航鍵的效果,可以選擇文本塊。也是非常方便的喲,為Vim的插入模式以及日常輕量級編輯提供了很不錯的補充。

 

  1. 刪除鍵

  這個沒什么好說的了吧。CapsLock+{BNM,./}構成了六個刪除鍵。好處是什么,就是前刪和后刪字符由最靈活的食指和中指負責,M<兩個鍵按起來非常快捷。另外N . 對應的刪除單詞功能,等價於Vim中的dbdw,在日常編輯中也是較為高頻的編輯命令。前刪至頂和前刪至底{Cplk+B/}可能用的不是太多,我正考慮是不是換成Build和注釋的快捷鍵。

  1. 特殊字符

  

  CapsLock + 分號 被設計為回車,減少了回車時右手小拇指移動的距離。CapsLock+引號被設計為"=",因為這是編程中最常用的符號之一。Caps+括號被映射為圓括號,這下括號一家終於團圓了,不由留下了激動的淚水。還有最后出場的大Boss:就是CapsLock本體映射為Esc,單憑這一項功能,我就已經離不開AutoHotKey了,真是小拇指的解放者,腱鞘炎的大救星啊。誰用誰知道,這個可比腳踏板靠譜多了。當然除了ESC,其他的按鍵可能略有牽強,自己舒服就行。

  1. 上檔

  

  這個毋需解釋,以后按Shift的時候浪一點也無所謂了,鍵盤第二排的按鍵,CapsLock與上檔鍵功能一致。但是我要說的是,這里其實改造空間最大了。除了指定其他快捷宏這類朴素用法,還可以寫五種不同的鍵盤映射腳本適應不同的工作場景,用Capslock+1234切換,想想也是醉了。

  1. 編輯控制

  

  Windows已經用了十幾年,復制粘貼剪切撤銷這些快捷鍵已經成為 條件反射了怎么辦?啊哈哈哈,ZXCVAY這幾個使用頻率最最高的Window編輯快捷鍵與Capslock合作的相當愉快,使用CapsLock+{X}Ctr+{X}效果是一致的,但是左手小拇指就不用往下移動了,這一點與HHKB是一致的。而且還解決了按下Ctr+Y的時候需要兩只手的問題,現在一只左手就可以掌控所有常用基本編輯命令了。

  1. 窗口控制

  

  CapsLock+QWS是三個特殊的窗口控制按鍵:CapsLock+QQuit,關閉窗口的意思,映射到{Alt+F4}CapsLock+W是關閉當前標簽,映射到{Ctr+W}CapsLock+SSwitch的意思,切換當前標簽,映射到{Ctr+Tab}。這幾個快捷方式非常常用,在IDE或者瀏覽器里都很好用。

  1. 特殊程序

  

最后剩下的幾個按鍵都屬於Hot Spot,可以把一些常用的程序或者命令丟在這里,提供我的配置作為參考:

Ffind,映射Alt+F,再將Alt+F設置為Everything的“顯示搜索窗口”上了,一鍵搜索文件,絕對是我用的最多的快捷方式之一。在Everything無效的時候,還可以作為“文件”菜單項的快捷鍵。

D Dictionary,映射到Alt+D,同時將Alt+D設置為Bing詞典的迷你詞典喚出按鍵。查詞非常方便

G:映射到Alt+G,並將Alt+G映射到GitHub Shell上。

E:映射到Explore,使用Bing搜索

RRun Shell:打開Powershell

TText Editor:打開Notepad++

 

200K不到的小腳本,小程序。這么小巧玲瓏的東西,我在OneNote里,OneDriver,百度盤,郵箱里都放了一份,在別的電腦上隨用隨下。真是方便。

最后分享一下下載鏈接吧。http://pan.baidu.com/s/14fWN8#path=%252FAutoHotKey

exe是按照上述配置的直接可以用的腳本文件。ahk是腳本源代碼,順便附帶了AHK的程序本體。

 

為了防止被度娘吃掉,貼出腳本的文本版:

;;====================Feng Ruohang's AHK Script=====================;;
;;==================================================================;;
;;=========================CapsLock's Stuff=========================;;
;;==================================================================;;
SetCapsLockState, AlwaysOff


;;=============================Navigator============================||
;===========================;U = PageDown
CapsLock & u::
if getkeystate("alt") = 0
Send, {PgUp}
else
Send, +{PgUp}
return
;===========================;I = Home
CapsLock & i::
if getkeystate("alt") = 0
Send, {Home}
else
Send, +{Home}
return
;===========================;O = End
CapsLock & o::
if getkeystate("alt") = 0
Send, {End}
else
Send, +{End}
return
;===========================;P = PageDown
CapsLock & p::
if getkeystate("alt") = 0
Send, {PgDn}
else
Send, +{PgDn}
return
;===========================;H = Left
CapsLock & h::
if getkeystate("alt") = 0
Send, {Left}
else
Send, +{Left}
return
;===========================;J = Down
CapsLock & j::
if getkeystate("alt") = 0
Send, {Down}
else
Send, +{Down}
return
;===========================;K = UP
CapsLock & k::
if getkeystate("alt") = 0
Send, {Up}
else
Send, +{Up}
return
;===========================;L = Right
CapsLock & l::
if getkeystate("alt") = 0
Send, {Right}
else
Send, +{Right}
return

;;=============================Deletor==============================||
CapsLock & ,:: Send, {Del}              ; , = Del char after
CapsLock & .:: Send, ^{Del}             ; . = Del word after
CapsLock & /:: Send, +{End}{Del}        ; / = Del all  after

CapsLock & m:: Send, {BS}               ; m = Del char before; 
CapsLock & n:: Send, ^{BS}              ; n = Del word before; 			
CapsLock & b:: Send, +{Home}{Del}       ; b = Del all  before; 

;;============================Special Char==========================||
CapsLock & ':: Send, =                  ; ' = =
CapsLock & `;:: Send, {Enter}           ; ; = Enter
CapsLock & {:: Send, +9                 ; { = ( 
CapsLock & }:: Send, +0;				; } = )
CapsLock & `:: Send, +``                ; Shift
CapsLock & 4:: Send, +4
CapsLock & 5:: Send, +5
CapsLock & 6:: Send, +6
CapsLock & 7:: Send, +7
CapsLock & 8:: Send, +8
CapsLock & 9:: Send, +9
CapsLock & 0:: Send, +0
CapsLock & -:: Send, +-
CapsLock & =:: Send, +=
CapsLock & \:: Send, +=
;;============================Editor================================||
CapsLock & z:: Send, ^z                 ; Z = Cancel
CapsLock & x:: Send, ^x                 ; X = Cut
CapsLock & c:: Send, ^c                 ; C = Copy
CapsLock & v:: Send, ^v                 ; V = Paste
CapsLock & a:: Send, ^a					; A = Select All
CapsLock & y:: Send, ^y                	; Y = Redo
;;===========================Controller=============================||
CapsLock & s:: Send, ^{Tab}             ; Switch Tag    S = {Ctr + Tab}
CapsLock & w:: Send, ^w                 ; Close Tag     W = {Ctr + W}
CapsLock & q:: Send, !{F4}              ; Close Window  Q = {Alt + F4}
CapsLock::Send, {ESC}                   ; Vimer's love	Capslock = {ESC}
;;=========================Application==============================||
CapsLock & d:: Send, !d                 ; Dictionary 	D = {Alt + D}
CapsLock & f:: Send, !f              	; Everything 	F = {Alt + F}
CapsLock & g:: Send, !g              	; Reversed		G = {Alt + G}
CapsLock & e:: Run http://cn.bing.com/	; Run Explore 	E = {Explore}
CapsLock & r:: Run Powershell           ; Run Powersh	R = {Powershell}
CapsLock & t:: Run C:\Program Files (x86)\Notepad++\notepad++.exe
					; Run Notepad++	T = {Text Editor}

;;==================================================================;;
;;=========================CapsLock's Stuff=========================;;
;;==================================================================;;
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM