W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
這一章我們會(huì)講到怎么更有效地學(xué)習(xí)Vim,不過在此之前需要先做一些小小的準(zhǔn)備。
讓我們先創(chuàng)建一個(gè)mapping,這個(gè)mapping會(huì)為你的左手減輕很多負(fù)擔(dān)。執(zhí)行下面的命令:
:inoremap jk <esc>
ok,現(xiàn)在進(jìn)入插入模式然后敲擊jk
。Vim會(huì)返回到常用模式,就像你敲擊了escape按鍵一樣。
在Vim中有很多默認(rèn)的方式可以退出插入模式:
<esc>
<c-c>
<c-[>
使用上面的這幾種方式,你都需要伸出你的爪子,這會(huì)讓你感到很不自在。使用jk
會(huì)很棒,因?yàn)檫@兩個(gè)按鍵正好就在你最強(qiáng)健有力的兩個(gè)手指下面,并且你不用搞得好像在演奏吉他和弦似的移動(dòng)手指。
有些人可能更喜歡使用jj
,但我更鐘意jk
,有兩個(gè)原因:
jk
,只會(huì)將光標(biāo)向下移動(dòng)一下,然后又向上移動(dòng)一下,最終光標(biāo)還是停留在原來的位置。但是在常用模式下按了jj
的話,只會(huì)把光標(biāo)移動(dòng)到一個(gè)不同的地方。不過需要注意的是,如果在你所用的語言中jk
會(huì)經(jīng)常組合出現(xiàn)(例如德語),你可能就需要選擇一個(gè)不同的mapping了。
ok,現(xiàn)在你已經(jīng)有了一個(gè)新的mapping,你會(huì)怎么學(xué)習(xí)使用它呢?特別是你已經(jīng)用了這么久的escape按鍵,使用escape按鍵都已經(jīng)刻入了你的腦子中,以至于在編輯的時(shí)候你會(huì)不假思索的敲擊它。
重新學(xué)習(xí)一個(gè)mapping的竅門就是_強(qiáng)制_將之前的按鍵設(shè)置為不可用,_強(qiáng)迫_自己使用新的mapping。執(zhí)行下面的命令:
:inoremap <esc> <nop>
這個(gè)命令會(huì)告訴Vim在插入模式下敲擊escape按鍵后執(zhí)行<nop>
(no operation),這樣escape按鍵在插入模式下就無效了。ok,現(xiàn)在你就_不得不_使用jk
這個(gè)mapping來退出插入模式了。
一開始你可能不太適應(yīng),你還是會(huì)在插入模式下敲擊escape按鍵,并且以為已經(jīng)退出到了常用模式,然后開始敲擊按鍵準(zhǔn)備在常用模式下做一些事情,從而導(dǎo)致一些不需要的字符出現(xiàn)在你的文本中。這會(huì)讓你感到有些不爽,但如果你堅(jiān)持一段時(shí)間后,你會(huì)驚訝的發(fā)現(xiàn)你的思維和手指會(huì)多么快的適應(yīng) 新的mapping。用不到一到兩個(gè)小時(shí)你就不會(huì)再在插入模式下敲擊escape了。
這個(gè)方法適用于所有的用于替代原有操作方式的新mapping,包括在生活中也是如此。當(dāng)你想改掉一個(gè)壞習(xí)慣的時(shí)候,你最好能夠想一些辦法使得這個(gè)壞習(xí)慣很難甚至是不能發(fā)生。
如果你想學(xué)會(huì)自己做飯,不想每天都吃蓋澆飯,那么每天下班的時(shí)候就不要去成都小吃了。這樣你就會(huì)在餓了的時(shí)候想辦法去做點(diǎn)東西吃,當(dāng)前你先要確保你家里沒有泡面。
如果你想戒煙,那你就不要把煙帶在身上,把它放到車上。這樣當(dāng)你的煙癮又犯了的時(shí)候,你會(huì)覺得走到車?yán)锶ト熓且患艿疤鄣氖?,這樣你就不會(huì)吸了。
如果還是會(huì)在Vim的常用模式中使用方向鍵移動(dòng)光標(biāo),那么就將它們映射為<nop>
。
如果你在編輯模式下也會(huì)使用方向鍵,同樣的,映射為<nop>
吧。
正確使用Vim的關(guān)鍵就是使得自己能夠快速的離開插入模式,然后在常用模式下進(jìn)行移動(dòng)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: