摘要:由于已經(jīng)厭倦了機(jī)械鍵盤,又實(shí)在無法抵擋的顏值,入手了一枚。我并不是黨,想來想去還是把上下左右的快捷鍵設(shè)置成比較直觀。原來是因?yàn)檫\(yùn)行于管理員權(quán)限,而運(yùn)行于普通用戶權(quán)限。解決方法是禁用。
由于已經(jīng)厭倦了機(jī)械鍵盤,又實(shí)在無法抵擋 HHKB 的顏值,入手了一枚 hhkb pro2。
入手之后立刻傻眼,方向鍵不僅需要按 Fn 鍵才能觸發(fā),那憋屈的鍵位讓我這用方向鍵與 Ctrl+C 一樣多的程序猿情何以堪!好在我是程序猿,天生不怕折騰,在經(jīng)過設(shè)置 DIP 開關(guān)、使用 Autohotkey 改鍵、設(shè)置 Win10 系統(tǒng)權(quán)限等一系列的折騰之后,終于可以舒服的使用這款 HHKB 寫代碼了,效率更超之前的機(jī)械鍵盤。
設(shè)置 DIP 開關(guān)SW1 on、SW2 off = Lite ext 模式,既 ◇ 鍵為 Win 鍵。
SW3 on = Delete 鍵改為退格鍵。
SW4 on = 左側(cè) ◇ 鍵為 Fn 鍵。
SW5 off = 不交換 ◇ 與 Alt 鍵。
SW6 on = 啟用喚醒功能。
首先要解決方向鍵問題。我并不是 Emacs/Vim 黨,想來想去還是把“上下左右”的快捷鍵設(shè)置成 Ctrl + I、K、J、L 比較直觀。另外,編代碼時跳到行首、行尾的操作也很多,所以可以再加上 Ctrl + H 跳到行首,Ctrl + " 跳到行尾的快捷鍵。腳本也很簡單:
^j::Send,{Left} ^l::Send,{Right} ^i::Send,{Up} ^k::Send,{Down} ^h::Send,{Home} ^"::Send,{End}
但是,僅僅這樣并沒有比原來方便,既然進(jìn)入了雙手不離開主鍵盤區(qū)的領(lǐng)域,就要盡可能減少使用鼠標(biāo)才能提高效率,畢竟現(xiàn)在要實(shí)現(xiàn)按方向鍵已經(jīng)必須使用兩只手了。編代碼選中變量名的操作很多,我們已經(jīng)實(shí)現(xiàn)了 Ctrl + I、K、J、L 上下左右移動光標(biāo),如果能實(shí)現(xiàn) Ctrl + ◇ + I、K、J、L 上下左右選中文本就非常方便而且直觀了!觀察一下 HHKB 的鍵盤,正好 ◇ + I、K、J、L 等價于 PrintScreen、Home、小鍵盤的除號、PageUp 鍵,所以就再增加如下腳本代碼:
^PrintScreen up::Send,{RShift down}{Up}{RShift up} ^Home up::Send,{RShift down}{Down}{RShift up} ^NumpadDiv up::Send,+{Left} ^PgUp up::Send,{RShift down}{Right}{RShift up}
注意在每個快捷鍵后面都加上了 “up”。這是因?yàn)樵跍y試時發(fā)現(xiàn),如果 Ctrl + ◇ + J 按住的話,也就是希望光標(biāo)以最快速度往左側(cè)選中文本的時候,每選中5、6個字母,選中的字母就會被一個 “/” 字母替換掉!也就是本來應(yīng)該連續(xù)輸出 Shift + Left,卻偶爾直接輸出了 “/”。而快捷鍵后面加上 “up” 的意思是不允許按住,只允許一下一下按快捷鍵。這樣雖然不會出錯了,但是這一下一下按效率實(shí)在太低了。經(jīng)過反復(fù)嘗試,我找到一個秘技:先使用 “NumpadDiv::CtrlBreak” 和 “PgUp::CtrlBreak” 把要輸出的快捷鍵改為不會實(shí)際輸出字符的“CtrlBreak”鍵,就不怕鍵沖突了。實(shí)際腳本這個樣子:
NumpadDiv::CtrlBreak PgUp::CtrlBreak ^NumpadMult up::Send,{RShift down}{Home}{RShift up} ^NumpadDiv::Send,+{Left} ^Home up::Send,{RShift down}{Down}{RShift up} ^PgUp::Send,{RShift down}{Right}{RShift up} ^PrintScreen up::Send,{RShift down}{Up}{RShift up} ^Right up::Send,{RShift down}{End}{RShift up} ^NumpadSub up::Send,{RControl down}{Left}{RControl up}{RControl down}{RShift down}{Right}{RControl up}{RShift up} ;select whole word left to right ^End up::Send,{RControl down}{RShift down}{Left}{RControl up}{RShift up} ;select whole word left ^PgDn up::Send,{RControl down}{RShift down}{Right}{RControl up}{RShift up} ;select whole word right ^NumpadAdd up::Send,{Home}+{End}
上面的腳本還同時實(shí)現(xiàn)了 Ctrl + M 選中單詞,Ctrl + N 選中行,Ctrl + < 向左按單詞擴(kuò)選,Ctrl + > 向右按單詞擴(kuò)選。最棒的還是可以允許按住 Ctrl + ◇ + J 和 Ctrl + ◇ + L 來快速擴(kuò)選了,代價是犧牲了小鍵盤除號和PageUp鍵,不過可以接受。
另外像把變量首字母由大寫改為小寫這樣的功能,雖然不是很常用,但也能有效提升效率,我把快捷鍵設(shè)置為 Ctrl + 反引號,實(shí)現(xiàn)起來稍稍有點(diǎn)復(fù)雜但也不難。使用一段時間,做了些優(yōu)化和微調(diào),最終的Autohotkey腳本:
NumpadDiv::CtrlBreak PgUp::CtrlBreak ^j::Send,{Left} ^l::Send,{Right} ^i::Send,{Up} ^k::Send,{Down} ^h::Send,{Home} ^"::Send,{End} ^NumpadMult up::Send,{RShift down}{Home}{RShift up} ^NumpadDiv::Send,+{Left} ^Home up::Send,{RShift down}{Down}{RShift up} ^PgUp::Send,{RShift down}{Right}{RShift up} ^PrintScreen up::Send,{RShift down}{Up}{RShift up} ^Right up::Send,{RShift down}{End}{RShift up} ^NumpadSub up::Send,{RControl down}{Left}{RControl up}{RControl down}{RShift down}{Right}{RControl up}{RShift up} ;select whole word left to right ^End up::Send,{RControl down}{RShift down}{Left}{RControl up}{RShift up} ;select whole word left ^PgDn up::Send,{RControl down}{RShift down}{Right}{RControl up}{RShift up} ;select whole word right ^NumpadAdd up::Send,{Home}+{End} RWin & "::Send,{RWin down}{RControl down}{Right}{RWin up}{RControl up} RWin & `;::Send,{RWin down}{RControl down}{Left}{RWin up}{RControl up} +Esc::Send,{RAlt down}{Left}{RAlt up} +Tab::Send,{RAlt down}{Right}{RAlt up} ; Ctrl + ` set firt char to lower ^`:: clipBak := ClipboardAll ; bak clipboard Clipboard := "" ;clear clipboard Send,{RControl down}{Left}{RControl up}{RShift down}{Right}{RShift up}{RControl down}c{RControl up} ;copy first char to clipboard ClipWait, 1 ;wait clip complete ; convert firt char in clipboard to lower selText := Clipboard ;MsgBox % selText StringLower, selText, selText ; set lower char to clipboard and paste it to replace in place Clipboard := selText Send, ^v Sleep, 100 ;prevent restore clipBak too early Clipboard := clipBak ; restore clipboard Send, {RControl down}{Right}{RControl up} return ;Ignore these shortkey ^1::return ^2::return ^3::return ^4::return ^5::return ^6::return ^7::return ^8::return ^9::return ^0::return ^-::return ^=::return ^::return ^Left::return設(shè)置 Win10 權(quán)限
到目前為止似乎一切都很完美,但是打開 Visual Studio,突然發(fā)現(xiàn)在 VS 里面剛剛設(shè)置的所有快捷鍵全!失!效!!一開始還以為是 VS 把全局快捷鍵給屏蔽了,想找找能不能通過 VS 里面的設(shè)置不屏蔽全局快捷鍵,結(jié)果無功而返,感覺怕是解決不了了。后來還是在靠譜的 Stackoverflow 里面找到了答案。原來是因?yàn)?VS 運(yùn)行于管理員權(quán)限,而 Autohotkey 運(yùn)行于普通用戶權(quán)限。解決方法就是在 AutoHotkeyU64.exe(如果是64位操作系統(tǒng)的話)右擊,選“屬性”,在“兼容性”選項(xiàng)卡里,勾選“以管理員身份運(yùn)行此程序”。
終于解決了 VS 快捷鍵失效的問題,但是馬上又發(fā)現(xiàn)以管理員身份運(yùn)行 Autohotkey 會造成它不能開機(jī)自動啟動。解決方法是禁用 UAC。禁用 UAC 的方法是:Win+R,輸入gpedit.msc,運(yùn)行打開“本地組策略編輯器”,計算機(jī)配置->Windows設(shè)置->安全設(shè)置->本地策略->安全選項(xiàng)->以管理員批準(zhǔn)模式運(yùn)行所有管理員,改為"已禁用"即可。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/94038.html
摘要:買和,但作為一名收入還不是很穩(wěn)定的前端,公司又不標(biāo)配這些,又不想用自己的辦公。工作難免會用系統(tǒng),那就學(xué)點(diǎn),效率賊。把鍵當(dāng)鍵用但是如果是用編輯器。單行可省略比如當(dāng)你的正常運(yùn)行你編寫的代碼時。 myHotKey github 地址 我只想看看還有多少人用 window 系統(tǒng)辦公,像我一樣在太陽下低頭。 工欲善其事,必先利其器。買 mac 和 HHKB,但作為一名收入還不是很穩(wěn)定的前端,公司...
摘要:在中,格式是,所以需要把格式統(tǒng)一為注冊表的標(biāo)準(zhǔn)。注冊表的二進(jìn)制值及關(guān)鍵信息如下開關(guān)長度地址是否跳過本地代理地址通過在中導(dǎo)入文件的方式執(zhí)行并立即生效。本代碼可以根據(jù)需要自動設(shè)置代理。 聲明下:不同于網(wǎng)絡(luò)上千百篇方法,下文是經(jīng)過各種嚴(yán)格測試都通過的,同時也是一個實(shí)驗(yàn)的過程,排除了各種不靠譜的方法。有需要的可以評論來討論,想要源碼和相關(guān)參考文獻(xiàn)或筆記的,也可以找我。 思路及啟發(fā) 先說一下我這...
摘要:如果你問一個年輕的前端開發(fā)人員,你在今后的年內(nèi)如何提升自己的能力他可能會說我現(xiàn)在對前端比較熟悉,但我想深入了解,另外現(xiàn)在發(fā)展的很快我也想看一下。再舉一個例子,我會留意身邊的程序員所用的鍵盤。只有少部分的程序員會買高端的靜電容鍵盤,比如。 如果你問一個年輕的前端開發(fā)人員,你在今后的 3 年內(nèi)如何提升自己的能力?他可能會說我現(xiàn)在對 Web 前端比較熟悉,但我想深入了解 AngularJS,...
閱讀 1337·2019-08-30 15:44
閱讀 1388·2019-08-29 18:42
閱讀 443·2019-08-29 13:59
閱讀 779·2019-08-28 17:58
閱讀 2822·2019-08-26 12:02
閱讀 2423·2019-08-23 18:40
閱讀 2411·2019-08-23 18:13
閱讀 3114·2019-08-23 16:27