原創(chuàng):小姐姐味道(微信公眾號(hào)ID:xjjdog),歡迎分享,轉(zhuǎn)載請(qǐng)保留出處。
先給大家講個(gè)故事。
老家的一個(gè)小孩,習(xí)慣用左手吃飯,就連擦屁股,都是用左手拿紙。結(jié)果,這個(gè)習(xí)慣,被他粗心的奶奶發(fā)現(xiàn)了,不知出于什么原因,暴躁如虎。
接下來,這位奶奶每天在他身邊念叨、念叨…,甚至上了刑。前幾天回去一瞧,這習(xí)慣竟然硬生生給改變了。
老遠(yuǎn)就能看見,娃娃右手甩的小陀螺,滴溜滴溜直轉(zhuǎn)。我側(cè)了側(cè)身子和孩子保持一個(gè)方向,彎腰比劃了下手勢(shì),確認(rèn)是右手無疑。
為什么要強(qiáng)迫孩子用右手?因?yàn)樗约河玫木褪怯沂郑A(chǔ)設(shè)施也都是右傾,她就覺得左手不倫不類。
Vim的問題
vim對(duì)于程序員來說,無疑是最流行的編輯器。不管你是主動(dòng)還是被動(dòng),都會(huì)與它有些接觸。主流的Idea、Atom、VSCode等等等等,都會(huì)通過插件提供vim的按鍵綁定。就連chrome,都提供Vimium這樣的插件,方便vim黨進(jìn)行漫游操作。
最基礎(chǔ)的操作,就是對(duì)光標(biāo)的控制。
`h` 左
`l` 右
`j` 下
`k` 上比較令人納悶的是,這四個(gè)字母,并沒有什么縮寫的含義,他就是相連的幾個(gè)鍵而已。
由于我用這幾個(gè)鍵是那么的多,以至于鍵帽光滑、明亮照人。
可以說自己是一個(gè)徹頭徹尾的vim黨。入門推薦看一篇以前寫的文章。
Linux生產(chǎn)環(huán)境上,最常用的一套“vim“技巧
?我整理了一份《最有用系列,百頁精華》pdf,想要可以加我微信:xjjdog0。為什么vim方向鍵要受人嘲笑
為了不再使用方向鍵控制光標(biāo)的移動(dòng),強(qiáng)制使用H、J、K、L,可以在vim的配置文件中,把這四個(gè)鍵給禁了。
noremap <Up> <NOP>
noremap <Down> <NOP>
noremap <Left> <NOP>
noremap <Right> <NOP>這樣,你在按下方向鍵的時(shí)候,將什么反應(yīng)都沒有,強(qiáng)制你的手放在hjkl上。
不要和信仰掛鉤,也不要有什么哲學(xué)方面的討論。這就是一個(gè)習(xí)慣而已。
為了說明這個(gè)問題,我特意畫了幾根線,把hjkl四個(gè)鍵給廢了,改成了對(duì)應(yīng)的sdfg。
`s` 左
`g` 右
`d` 下
`f` 上要是按照這個(gè)模式來,照樣玩得轉(zhuǎn),對(duì)于入門者來說不會(huì)有什么差別。不過一些觀念讓你深入為主覺得別扭罷了。我可以左手控制方向,右手控制鼠標(biāo),在理論上碾壓你一番。不要和我談離著i(插入模式)近的緣故,因?yàn)槲铱梢园?code>w改成相應(yīng)的功能。
這意味著成套的經(jīng)驗(yàn)轉(zhuǎn)移和定制化,所以xjjdog不會(huì)這么干。
那么,為什么使用方向鍵控制vim的移動(dòng)方向,就要遭受嘲笑呢?難道是因?yàn)榉较蜴I長(zhǎng)得小么?應(yīng)該是這樣。因?yàn)楝F(xiàn)在很多鍵盤的方向鍵都沒了,你換臺(tái)機(jī)器就抓瞎。
一種更快的瀏覽方式
以下的內(nèi)容,來自13年的一個(gè)探討,并在Hacknews上有相應(yīng)的討論。下面將變換成第一人稱口吻,進(jìn)行說明。
參考內(nèi)容:
Habit breaking, habit making
?http://1t.click/a8r5?
Vim users: stop using hjkl (vimcasts.org)
?http://1t.click/a8r8
光標(biāo)一個(gè)一個(gè)的移動(dòng),慢如蝸牛。有沒有比較快的速度呢?也是有的。
5倍速的左右移動(dòng)
h和l是用來控制光標(biāo)的左右移動(dòng)的,每次可以移動(dòng)一個(gè)距離單位。對(duì)于左右移動(dòng)來說,有更快的方式。
與此對(duì)應(yīng)的是b、w;e、ge等。如果平均每個(gè)單詞的長(zhǎng)度是5,則移動(dòng)就是5倍速度。
單行字符搜索
我們平常用的,可能搜索模式多一些。就是在普通模式下輸入/進(jìn)行查找的那種。而對(duì)于某一行來說,通過f、F、t、T、,、;等按鍵,可以快速的,瞬時(shí)的定位到相應(yīng)的位置。
`f` 查找字符 ; f {char}會(huì)定位到第一個(gè){char}出現(xiàn)的光標(biāo)位置
`F` 查找字符;與f類似,不過是向后查找
`;` 重復(fù)上次搜索
`, `如果重復(fù)上次搜索按多了,則可以通過`,`回退這些操作,相對(duì)來說比較冷門。但對(duì)于一個(gè)已經(jīng)入門了vim的人來說,掌握它會(huì)如虎添翼。為了強(qiáng)制訓(xùn)練這些命令,可以先禁掉一些按鍵,進(jìn)入困難模式。
欲練此功,必先自宮??纯唇氖鞘裁矗?/p>
noremap h <NOP>
noremap j <NOP>
noremap k <NOP>
noremap l <NOP>在某個(gè)悠閑的讓人心醉的下午,就可以沏上一杯小茶,開啟訓(xùn)練。
你可以通過強(qiáng)制使用上面所提到的一些增加漫游速度的按鍵,讓自己的肌肉強(qiáng)制接受這種更加快速的設(shè)定。這對(duì)于追求更加迅捷的效率的你來說,萬分珍貴。
End
本篇文章的主題,其實(shí)很明了。除了談到一種可能的讓你的vim飛的更快的方式,主要說明了一個(gè)習(xí)慣問題。
習(xí)慣問題就是習(xí)慣問題,雖然也能找到一些信仰方面的解釋,或者一些神乎其神的吹捧,不過這都是自嗨。什么是好的習(xí)慣?不過是群體進(jìn)化中對(duì)某件事情的大多數(shù)看法,并沒有對(duì)錯(cuò)。
但總有些偏了的。習(xí)慣問題除了與大眾接軌,看起來不那么不倫不類,更重要的,是一種主動(dòng)糾正和進(jìn)化。雖然痛苦,卻受益無窮。
方塊字并不是一定要橫著寫的,但現(xiàn)在你卻是在從左到右讀著一行行字。
就像是,當(dāng)所有人都用左手擦屁股,我一定不會(huì)用右手。
作者簡(jiǎn)介:小姐姐味道 ?(xjjdog),一個(gè)不允許程序員走彎路的公眾號(hào)。聚焦基礎(chǔ)架構(gòu)和Linux。十年架構(gòu),日百億流量,與你探討高并發(fā)世界,給你不一樣的味道。我的個(gè)人微信xjjdog0,歡迎添加好友,進(jìn)一步交流。
最常用系列↓
1、最常用的一套“Vim“技巧
2、
最常用的一套“Sed“技巧
3、
最常用的一套“AWK“技巧
玩轉(zhuǎn)Linux↓
1、Java堆外內(nèi)存排查小結(jié)
??據(jù)說很多人拿來洗稿2
、"Sed" 高級(jí)功能:我這小腦瓜都快繞暈了
3、
將java進(jìn)程轉(zhuǎn)移到“解剖臺(tái)”之前,法醫(yī)都干了什么?
3、
LWP進(jìn)程資源耗盡,Resource temporarily unavailable
4
、命令行版星球大戰(zhàn) # 挖墳會(huì)不會(huì)被打?
5
、在終端畫畫、炒股、玩游戲
6、
這是一張top命令的動(dòng)動(dòng)圖