邊打“游戲”邊學(xué)Vim!這款在線、交互的練習(xí)工具火了
本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
天下苦Vim久矣。
雖然“高齡”、“難用”等標(biāo)簽加身,但沒(méi)辦法,依舊無(wú)法阻擋Vim被熱捧的現(xiàn)實(shí)。
那有沒(méi)有簡(jiǎn)單、快速上手練習(xí)的方法?
這個(gè)可以有,而且還是在線、交互式的那種——Vim.so。

并且Vim.so用起來(lái)像打游戲一般的體驗(yàn),也讓網(wǎng)友們一片“好評(píng)如潮”。

打游戲一樣學(xué)習(xí)Vim
既然要學(xué)習(xí)Vim,那就免不了要了解它那“令人發(fā)指”的命令和快捷鍵。
例如,這樣(有種讓你背元素周期表的趕腳)……

△ 圖源:cnblog
但在Vim.so中學(xué)習(xí)命令,就沒(méi)有那么枯燥了。
例如“上”、“下”、“左”、“右”以及“刪除”命令,分別對(duì)應(yīng)鍵盤(pán)中的“h”、“j”、“k”、“l”和“x”。
像打游戲通關(guān)一樣,就能快速上手。

在這一關(guān)“游戲”中,通過(guò)鍵盤(pán)指令的操作,將光標(biāo)移動(dòng)到“%”的位置,并將它刪除掉,就算完成一次任務(wù)。
有沒(méi)有種玩“消消樂(lè)”的感覺(jué)?
這樣的基本指令練習(xí),需要完成20次,對(duì)于Vim入門(mén)新手而言,達(dá)到“KPI”之后,掌握得也就差不多了。
而且,它還會(huì)記下完成任務(wù)所用的平均時(shí)長(zhǎng),是可以和其它“玩家”battle一下了。

再?gòu)?fù)雜一點(diǎn)的“進(jìn)階任務(wù)”,如下所示。

類(lèi)似這樣的課程,Vim.so一共提供了10門(mén),據(jù)作者本人介紹,目的就是讓新人能夠快速上手、讓Vim性能最大化。

雖好用,但需付費(fèi)
雖然這種交互式學(xué)習(xí)Vim的方式,對(duì)于新手來(lái)說(shuō)是非常友好的。
但一個(gè)“致命”的缺點(diǎn)就是,付費(fèi)。
但別急!我們也準(zhǔn)備了另外一套教程——“用聰明的方式學(xué)習(xí)Vim”。
目前在GitHub上的star數(shù)量已經(jīng)達(dá)到了5400+。

在這份教程中,作者將Vim命令的一般結(jié)構(gòu),分解成了一個(gè)簡(jiǎn)單語(yǔ)法規(guī)則。
這也是本教程中最為重要的一個(gè)章節(jié)——一旦了解了 Vim 命令類(lèi)似語(yǔ)法的結(jié)構(gòu),就能跟它“暢談無(wú)阻”。
按照作者的說(shuō)法,“只需要知道一個(gè)語(yǔ)法規(guī)則”,就可以說(shuō)Vim的語(yǔ)言了:
verb + noun
如果拿英文短句做類(lèi)比,就例如:
Eat (verb) a donut (noun)
Kick (verb) a ball (noun)
在此之后,就只需要使用基本的 Vim 動(dòng)詞和名詞,來(lái)增加詞匯量即可。
嗯,也是相當(dāng)?shù)膃asy了。
作者介紹
Vim.so項(xiàng)目的作者,叫做Kenneth Cassel。
他是一名全棧開(kāi)發(fā)人員,感興趣的領(lǐng)域包括NLP和計(jì)算機(jī)視覺(jué)中的深度學(xué)習(xí)(語(yǔ)義分割、目標(biāo)檢測(cè)、多標(biāo)簽分類(lèi)等)。
最后,兩種學(xué)習(xí)Vim的教程和地址,都在下方鏈接奉上嘍。
傳送門(mén)
Vim.so地址:
https://www.vim.so/#exercise
“用聰明的方式學(xué)Vim”地址:
https://github.com/iggredible/Learn-Vim