上一篇hjkl里面提到為什么不用方向鍵來移動光標的重要原因是方向鍵離主鍵盤區(qū)比較遠档址,那么聰明的你肯定也會以此類推祠斧,ESC鍵離主鍵盤區(qū)也不近啊闻察,當初的vi設計者好像留了一個大坑。vim的各種移動都需要跑回normal模式琢锋,這樣是不是降低了效率呢辕漂?大神的回答是你應該把大部分的時間都花在normal模式,insert只是用來輔助的吴超,這就需要高頻使用ESC鍵了钉嘹。
上篇里面有當時的鍵盤,可以清楚地看到ESC鍵就在現(xiàn)在的TAB鍵處鲸阻,還在左手小拇指的控制范圍之內跋涣。那么現(xiàn)代的我們該默默忍受嗎?當然不是鸟悴,這也太不vimmer了陈辱。
vim默認配置中,除了esc鍵可以退出編輯模式外遣臼,還有另外以下幾種方式:
1.CTRL-[性置,插入模式下這個鍵位跟esc鍵的效果完全一樣,而且也符合雙手不離開主鍵盤的原則揍堰,多練練就可以了鹏浅。
2.CTRL-c,相比ctrl [, ctrl-c更加適合單手操作,在大部分情況下跟esc命令沒有區(qū)別屏歹,當然也有極少數(shù)情況例外隐砸,主要有 不觸發(fā)InsertLeave事件,不進行縮略詞補全蝙眶。
3.CTRL-o季希,可以返回normal模式執(zhí)行一次命令之后再返回insert模式,這個方式在高效率編輯方面還是很有用的幽纷,如果你只想執(zhí)行一下命令然后再重新編輯式塌,就不用先按Esc鍵執(zhí)行完命令之后在按i進入編輯,現(xiàn)在不常用也沒關系友浸,記住就好峰尝,將來想優(yōu)化效率的時候再嘗試一下。
4.CTRL-@收恢,插入上次輸入的內容并退出編輯模式武学,跟ctrl-o類似祭往,都是需要自己去體會其中的精髓,用好了就可以提高效率火窒。
上文說了硼补,原本的ESC鍵是在Tab處,那么就讓它返回原處吧熏矿,這樣不好已骇,因為tab鍵也是比較高頻按鍵,倒是下方的CapsLock好像沒什么用曲掰,事實證明疾捍,vim下基本可以不用capslock鍵,至少我大寫都是通過Shift來實現(xiàn)栏妖,如果是一長串的大寫乱豆,可以先用小寫輸入,然后用vim的U鍵把它們轉換成大寫吊趾。
ESC鍵跟CapsLock鍵置換宛裕,具體方法參考:ESC-CapsLock按鍵置換
下面給出幾種自定義的方案,不過需要先搞懂vim的配置文件.vimrc论泛,windows系統(tǒng)下一般是_vimrc,默認情況下這個文件是不存在的揩尸,需要你去新建一個空白文件,如果還是不怎么懂,那么可以去百度或谷歌屁奏,教程很多岩榆。
inoremap jj <ESC>? ?作用是將jj鍵映射到ESC鍵,快速按兩下j將觸發(fā)ESC鍵
inoremap jk??<ESC>? 作用是將jk鍵映射到ESC鍵坟瓢,快速按jk將觸發(fā)ESC鍵
以上幾種方式都各有利弊勇边,我用過ctrl-[和ctrl-c,映射也用過一段時間折联,感覺ctrl-c更適合單手操作(別問我為什么要單手粒褒,自行體會),置換capslock很有優(yōu)勢诚镰,有人認為形成習慣后去別人的機器上會很別扭奕坟。
我目前是用Ctrl-[來實現(xiàn),習慣了清笨。
所以你認為呢月杉?
多折騰一下找到適合自己的很重要。