• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            huaxiazhihuo

             

            鍵盤布局的改進(jìn)之道

                  好久沒(méi)上博客了,自己的那么一點(diǎn)微末道行也不敢拿出來(lái)丟人現(xiàn)眼。實(shí)際上,過(guò)去的幾年,真的是讓C++和MFC害慘了,一直自個(gè)兒固步自封,說(shuō)什么沒(méi)有透徹掌握它們,絕不碰其他的玩意,結(jié)果就悲劇了,眼界相當(dāng)重要,再怎么夸張都不為過(guò)。顯然,MFC是垃圾,但實(shí)際上,C++也不是什么好菜,嗯,不吐槽了。還是做點(diǎn)更具實(shí)際意義的事情吧,今天的主角是鍵盤布局。
                  由于歷史的原因,當(dāng)今流行的26字母的qwerty鍵盤布局并不是很科學(xué),甚至有種說(shuō)法,隨便弄一個(gè)布局,都要比qwerty好,只因qwerty當(dāng)初的設(shè)計(jì)意圖就是為了最大限度的降低打字速度,這么說(shuō)就有點(diǎn)過(guò)分了。不過(guò),后來(lái)重新發(fā)明的布局,特別是DVORAK,的確比qwerty更具優(yōu)勢(shì)。但是,不管DVORAK的先天設(shè)計(jì)多么合理,如何在市場(chǎng)上如何造勢(shì),都不能撼動(dòng)qwerty的主流地位。這很讓人無(wú)語(yǔ),由此可見(jiàn),技術(shù)并不是決定市場(chǎng)的首要因素,關(guān)鍵是先占領(lǐng)市場(chǎng),形成標(biāo)準(zhǔn),不管這個(gè)標(biāo)準(zhǔn)有多差,只要有很多人遵守執(zhí)行就行了,好比XX紅色政黨,又好比MFC,現(xiàn)在VC2012上居然還有他的一席之地,中國(guó)計(jì)算機(jī)圖書還有那么多的VC書籍,實(shí)在令人疼心疾首。不過(guò),本文的目的并非推薦DVORAK,當(dāng)然,DVORAK鍵盤布局還是很值得廣泛使用,但是既然已經(jīng)如此的熟悉qwerty鍵盤了,那么也沒(méi)有必要再訓(xùn)練了,實(shí)際上,qwerty已經(jīng)足夠日常使用了,我們平時(shí)打字,最大的限制在于大腦的速度,鍵盤布局到不是瓶頸。
                  我要說(shuō)的是,對(duì)于碼農(nóng)來(lái)說(shuō),鍵盤的另一不合理之處在于,小指的壓力過(guò)大,左小指還好,只需負(fù)責(zé)Esc、~、……、A、Z等11個(gè)鍵位,先不論esc太遠(yuǎn),這讓vim情何以堪,而無(wú)關(guān)緊要的大小寫切換鍵居然占據(jù)了那么優(yōu)勢(shì)明顯好用之要地,等等無(wú)理設(shè)計(jì)。右小指表示壓力更大,起碼打了兩倍,因?yàn)樗恼乒鼙茸笮≈傅拇罅艘槐吨啵瑤缀跏侵麈I盤的1/4之多的鍵位,而且這些鍵,使用率都相當(dāng)?shù)念l繁,如果再加上上下左右方向鍵還有delete,這實(shí)在太無(wú)天理了。可憐的兩只小指,弱不禁風(fēng),嬌怯怯,卻要承受著生命難以承受之痛。相比之下,平時(shí)最能干的大拇指,居然只負(fù)責(zé)長(zhǎng)長(zhǎng)的空格鍵和兩只alt這三個(gè),這種不合理不公平的待遇,不禁讓人怒從心頭起,惡向膽邊生,必須改革,徹底改革。給小指減負(fù),給大拇指加負(fù)。
                  當(dāng)然,改革之前,先介紹windows下兩大偷天換日的鍵盤修改利器,autohotkey和keytweak,其性能和使用說(shuō)明,請(qǐng)各位自行百度谷歌。為了達(dá)到目的,老夫真的是挖空心思,無(wú)所不用其極。方法如下:
                  1、借助autohotkey,將右手的所有鍵位都往右挪一格,也就是說(shuō),原來(lái)的7ujm這4個(gè)鍵,被發(fā)配到8ik,上,而8ik,就到了9ol.上,其他的以此類推,至于最右邊的=\'/就只好屈居于開(kāi)始時(shí)的7ujm上了。這樣一來(lái),小指起碼少按了4個(gè)鍵位。右拇指只要愿意,可以不費(fèi)力的按到右win鍵了,現(xiàn)在,兩只拇指終于可以掌控四個(gè)鍵位了,四個(gè)很重要的鍵位,恩,目前除了space,其他三個(gè)似乎沒(méi)啥特別,但很快,就會(huì)看到剩下來(lái)的三個(gè)中的其中一個(gè),將發(fā)光發(fā)熱,照耀整個(gè)鍵盤,最有作用。
                  2、眾所周知,上下左右home end 和翻頁(yè),這些鍵,其實(shí)也很重要,但是要按到它們,必須跑大老遠(yuǎn),揮動(dòng)右手做大幅度的機(jī)械運(yùn)動(dòng)。以至于,在vim和emacs中,都有各自的快捷方式來(lái)實(shí)現(xiàn)同樣的功能。什么hjkl,什么ctrl+n,ctrl+p等等,不一而足,這種快捷方式,居然是其優(yōu)于其他編輯器的亮點(diǎn)之一。但是,上下左右等鍵位可以配上ctrl、shift、win修飾鍵,然后馬上就可以做出很多種組合,當(dāng)然,emacs和vim也真是神通廣大,針對(duì)每種組合,基本上都有對(duì)應(yīng)的快捷鍵,只是記憶起來(lái),實(shí)在麻煩。而區(qū)區(qū)在下,還曾經(jīng)吭哧吭哧的拼命記憶過(guò)。好吧,好不容易習(xí)慣了vim和emacs那套逆天指法,卻發(fā)現(xiàn)只能在vim或者emacs的環(huán)境下使用,屠龍之技,屠龍之技。我們要求的是,能夠有一套放之于四海而皆準(zhǔn)的指法,可以在所有的軟件下,所有的場(chǎng)合下都發(fā)光發(fā)熱。
                  可能嗎?確實(shí)有辦法,就是在新鍵盤布局下,將右拇指能比之前輕松的按到的alt,搖身一變,變成換擋鍵,只要此鍵一按,馬上wsad(游戲模式下的上下左右方向鍵)就變成上下左右了,配合jkl就可以組合出ctrl shift alt等效果。ec為home、end,rv則是上下翻頁(yè),f為esc鍵,各種各樣,何其方便哉!剩下來(lái)的問(wèn)題,就是右alt該何去該從,很簡(jiǎn)單,鵲巢鳩占,老實(shí)不客氣,就占到右win鍵上,至于右win鍵怎么辦,該怎么方便就怎么方便,甚至不存在,也沒(méi)關(guān)系。制造換擋鍵,必須用到keytweak,autohotkey是不行的,鑒于數(shù)字小鍵盤上的除號(hào)實(shí)在很少用到,因此就拿他來(lái)當(dāng)犧牲品了。其他的種種,請(qǐng)大家參考隨文附上的ahk腳本。
                  這樣一來(lái),只要稍加訓(xùn)練,鍵盤用起來(lái)將會(huì)很爽了。不爽的是,用別人的電腦,將特別的不習(xí)慣,各種難受。
                  此外,右ctrl,可以用右掌腹來(lái)按,不必?zé)﹦谛≈福呀?jīng)夠累了。然后,漢字輸入,要用拼音,最好是雙拼,切記切記。不要在用什么五筆了,那是特別落后的輸入法,其令人發(fā)指之處,可以和mfc值得一拼。在下曾經(jīng)是五筆高手,下過(guò)苦功夫,多少個(gè)夏天夜晚,揮汗如雨,苦練五筆,一分鐘達(dá)到百多字,絕對(duì)有資格說(shuō)五筆的不是。現(xiàn)在我用雙拼很高興,已經(jīng)不記得五筆的很多字根了,才不到半年的時(shí)間。
                  其實(shí),我都努力過(guò),只是,都把汗水和精力,放在垃圾上了。C++是垃圾嗎,當(dāng)然不是了,但實(shí)際上,……,我覺(jué)得C++可以和糞便有得一比,作為肥料,還是很好地。

            7::=
            8::7
            9::8
            0::9
            -::0
            =::-

            u::y
            i::u
            o::i
            p::o
            [::p
            ]::[
            \::]

            j::h
            k::j
            l::k
            SC27::l
            '::SC27

            m::n
            ,::m
            .::,
            /::.

            y::\
            h::'
            n::/

            NumpadAdd::=
            Shift & NumpadDel:: Send, {Backspace}

            NumpadDiv & a:: Send, {Left}
            NumpadDiv & d:: Send, {Right}
            NumpadDiv & w:: Send, {Up}
            NumpadDiv & s:: Send, {Down}

            NumpadDiv & e:: Send, {Home}
            NumpadDiv & c:: Send, {End}
            NumpadDiv & r:: Send, {PGUP}
            NumpadDiv & v:: Send, {PGDN}

            NumpadDiv & z:: Send, {BackSpace}
            NumpadDiv & x:: Send, {Delete}
            NumpadDiv & f:: Send, {Escape}

            CapsLock::LControl
            LControl::Esc
            Esc::CapsLock

            NumpadDiv & k::
                Send {Control down}
            KeyWait k  ; 等待用戶釋放按鍵.
                Send {Control up}
            return

            NumpadDiv & Shift::
                Send {Shift down}
            KeyWait Shift  ; 等待用戶釋放按鍵.
                Send {Shift up}
            return

            NumpadDiv & Control::
                Send {Control down}
            KeyWait Control  ; 等待用戶釋放按鍵.
                Send {Control up}
            return

            NumpadDiv & Alt::
                Send {Alt down}
            KeyWait Alt  ; 等待用戶釋放按鍵.
                Send {Alt up}
            return

            NumpadDiv & #::
                Send {Win down}
            KeyWait #  ; 等待用戶釋放按鍵.
                Send {Win up}
            return

            NumpadDiv & l::
                Send {Shift down}
            KeyWait l  ; 等待用戶釋放按鍵.
                Send {Shift up}
            return

            NumpadDiv & SC27::
                Send {Alt down}
            KeyWait SC27  ; 等待用戶釋放按鍵.
                Send {Alt up}
            return

            NumpadDiv & '::
                Send {LWin down}
            KeyWait '  ; 等待用戶釋放按鍵.
                Send {LWin up}
            return

            posted on 2013-06-29 02:56 華夏之火 閱讀(2527) 評(píng)論(4)  編輯 收藏 引用

            評(píng)論

            # re: 鍵盤布局的改進(jìn)之道 2013-06-29 09:45 jl

            博主能不能說(shuō)下什么東西讓你開(kāi)闊了視野,讓我這個(gè)一直做c++,MFC的人也開(kāi)闊視野下  回復(fù)  更多評(píng)論   

            # re: 鍵盤布局的改進(jìn)之道 2013-06-29 10:22 華夏之火

            @jl
            所有一直在做MFC的人都很悲哀,大悲劇。仔細(xì)學(xué)習(xí)Vczh大神的博客,不失為開(kāi)闊眼界的捷徑。在下眼界的開(kāi)闊,走的是另外一條很長(zhǎng)很長(zhǎng)的彎路
              回復(fù)  更多評(píng)論   

            # re: 鍵盤布局的改進(jìn)之道 2013-06-29 12:14 waiting4you

            要眼界開(kāi)闊就去周游世界,做碼農(nóng)不管用什么語(yǔ)言還是工具眼界也就這樣。樓主有嘩寵的意思  回復(fù)  更多評(píng)論   

            # re: 鍵盤布局的改進(jìn)之道 2013-06-29 16:25 華夏之火

            @waiting4you
            罵得好  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(6)

            隨筆分類

            隨筆檔案

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            综合久久给合久久狠狠狠97色| 99精品国产99久久久久久97| 久久精品一区二区三区AV| 久久这里只有精品首页| 久久精品黄AA片一区二区三区| 麻豆久久久9性大片| 欧美伊人久久大香线蕉综合69| 91精品国产91久久久久久青草| 久久久久免费精品国产 | 无码专区久久综合久中文字幕| 亚洲欧美国产日韩综合久久| 久久福利片| 香蕉99久久国产综合精品宅男自| 久久93精品国产91久久综合| 久久不见久久见免费影院www日本| 国产激情久久久久影院老熟女| 亚洲精品高清久久| 久久综合精品国产一区二区三区| 亚洲精品国精品久久99热| 97精品伊人久久大香线蕉| 奇米综合四色77777久久| 久久国产精品久久久| 精品国产91久久久久久久a| 久久成人18免费网站| 99久久国产综合精品女同图片| 久久精品人人做人人爽97| 精品久久久久久无码人妻蜜桃| 亚洲人成网站999久久久综合| 奇米综合四色77777久久| 亚洲欧美日韩中文久久| 国产精品99久久久久久人| 精品久久久久久无码免费| 狠狠精品久久久无码中文字幕| 97精品依人久久久大香线蕉97| 久久本道伊人久久| 久久综合色老色| 99麻豆久久久国产精品免费| 久久亚洲国产成人精品无码区| 97久久国产露脸精品国产| 精品久久久久久无码人妻热| 久久午夜羞羞影院免费观看|