【譯】我是如何學(xué)會(huì)愛(ài)上 Vim 的

作者:Sanchit Gera盼产,原文鏈接:How I learned to love vim

以下是譯文:


我與 Vim 之間既苦澀又甜蜜的關(guān)系維持了相當(dāng)長(zhǎng)的一段時(shí)間。

在過(guò)去的幾年間勺馆,我數(shù)次嘗試著去學(xué)習(xí) Vim戏售,但每一次到最后還是放棄了。我更愿意去使用我的“初級(jí)”文本編輯器(通常是 Atom)草穆。

但在幾周以后灌灾,我發(fā)現(xiàn)自己無(wú)法使用 Atom 了,因?yàn)槠渲幸粋€(gè)模糊的連通性問(wèn)題悲柱,這個(gè)問(wèn)題使得我建立在遠(yuǎn)程連接的設(shè)置完全失效了锋喜。

在經(jīng)歷過(guò)五個(gè)令人悲傷的階段后(譯者注:哦,天知道發(fā)生了什么),我決定咬緊牙關(guān)(再一次)試著去學(xué)習(xí) Vim嘿般。這一次我強(qiáng)迫自己去使用 Vim段标,并且是只使用 Vim。

我知道——我可以很輕松的轉(zhuǎn)向另一種更簡(jiǎn)單易用的編輯器比如說(shuō) Sublime炉奴”婆樱或者甚至可以使用非常成熟的 IDE 比如 IntelliJ

但是盆佣,我還是決定闖一闖所謂的“地獄”往堡。下面是我學(xué)習(xí)到的一些東西:

作者:Sanchit Gera,原文鏈接:How I learned to love vim

以下是譯文:


我與 Vim 之間既苦澀又甜蜜的關(guān)系維持了相當(dāng)長(zhǎng)的一段時(shí)間共耍。

在過(guò)去的幾年間,我數(shù)次嘗試著去學(xué)習(xí) Vim吨瞎,但每一次到最后還是放棄了痹兜。我更愿意去使用我的“初級(jí)”文本編輯器(通常是 Atom)。

但在幾周以后颤诀,我發(fā)現(xiàn)自己無(wú)法使用 Atom 了字旭,因?yàn)槠渲幸粋€(gè)模糊的連通性問(wèn)題,這個(gè)問(wèn)題使得我建立在遠(yuǎn)程連接的設(shè)置完全失效了崖叫。

在經(jīng)歷過(guò)五個(gè)令人悲傷的階段后(譯者注:哦遗淳,天知道發(fā)生了什么),我決定咬緊牙關(guān)(再一次)試著去學(xué)習(xí) Vim心傀。這一次我強(qiáng)迫自己去使用 Vim屈暗,并且是只使用 Vim。

我知道——我可以很輕松的轉(zhuǎn)向另一種更簡(jiǎn)單易用的編輯器比如說(shuō) Sublime脂男⊙眩或者甚至可以使用非常成熟的 IDE 比如 IntelliJ

但是宰翅,我還是決定闖一闖所謂的“地獄”弃甥。下面是我學(xué)習(xí)到的一些東西:

This would take some really bad luck…

學(xué)習(xí)基礎(chǔ)

如果你沒(méi)怎么用過(guò),Vim 可能看起來(lái)像是一個(gè)非常古老的文本編輯器汁讼。說(shuō)起它的來(lái)源淆攻,需要追溯到一款在七十年代出現(xiàn)的叫做 Vi 的程序。

由于 Vim 的設(shè)計(jì)初衷就是完全依賴(lài)鍵盤(pán)就能工作的編輯器嘿架,所以這也成了它既吸引人又讓人討厭的地方瓶珊。畢竟當(dāng) Vi 被構(gòu)思出來(lái)時(shí),只需要鼠標(biāo)點(diǎn)點(diǎn)的那些 GUI 可視化界面還并不是怎么實(shí)用的東西呢眶明。

Vim 使用模式(mode)的方式來(lái)操作艰毒,有兩種主要的模式最常被使用到:

  • 正常模式(Normal mode):這種模式是在你瀏覽、編輯或者操作文件的時(shí)候使用搜囱。如果你不涉及輸入新的內(nèi)容到文件中丑瞧,該模式下你可以做任何其他事柑土。大多數(shù)的 Vim 命令都是在這個(gè)模式下完成。
  • 插入模式(Insert mode):這種模式允許你輸入新文本到文件中去绊汹,這時(shí)候 Vim 表現(xiàn)得更像是一個(gè)“正經(jīng)”的文本編輯器稽屏,比如 Atom 或者 Sublime。當(dāng)然了西乖,還是不需要使用鼠標(biāo)的狐榔,即使你想用也用不了 :)

Vim 也還有其他模式,其中一個(gè)是 虛擬模式(Visual mode)获雕,在選擇大段文本的時(shí)候使用薄腻。一般來(lái)說(shuō),這些模式在平時(shí)使用的頻率不高届案。

Vim 一般是在終端模擬器中使用的庵楷,但單獨(dú)的發(fā)行版也是有的。Vim 可以被使用在任何 Unix 和 Linux 操作系統(tǒng)上楣颠。Vim 的爺爺——Vi尽纽,作為 UNIX 規(guī)范的一部分,很自然的童漩,它被預(yù)裝在任何基于 UNIX 的合格操作系統(tǒng)上弄贿。

可組合性

“可組合性”使得 Vim 在很大程度上區(qū)別于其他編輯器。它賦予了 Vim 獨(dú)有的語(yǔ)言矫膨。

它在文本編輯和操作的語(yǔ)境中差凹,引入了名詞和動(dòng)詞的概念。

動(dòng)詞描述的是你能做什么(比如刪除豆拨、改變直奋、移動(dòng)等)。

名詞描述的是正在發(fā)生的事情(通常是單詞施禾、行或者文本中的某些地方)脚线。

其中一些常見(jiàn)的動(dòng)名詞包括:

動(dòng)詞
d:刪除
c:改變(覆蓋)
y:復(fù)制
>:縮進(jìn)
<:取消縮進(jìn)

操作
h,j,k,l:向左,向下弥搞,向上邮绿,向右
w:下一個(gè)單詞
b:上一個(gè)單詞
0:行首
$:行末
i:?jiǎn)卧~內(nèi)(不含下一個(gè)字符)
a:?jiǎn)卧~周?chē)?

這份列表并不詳盡,其實(shí)有非常多可使用的快捷鍵攀例。但是你僅僅使用其中非炒基礎(chǔ)的幾個(gè)快捷鍵就能夠?qū)崿F(xiàn)大部分操作。方法就是將動(dòng)名詞和偶爾出現(xiàn)的數(shù)字組合在一起粤铭,你就能創(chuàng)建出不同的 行為 去操作需要的文本挖胃。

舉個(gè)例子,為了刪除一個(gè)單詞(delete a word),你可以鍵入組合鍵 dw酱鸭。

從當(dāng)前位置刪除兩個(gè)單詞(delect 2 word)吗垮,你可以輸入 d2w

從當(dāng)前位置一路刪除至行末凹髓,你可以輸入 d$烁登。

(譯者注:我其實(shí)也是一個(gè) newbie,看到這幾個(gè)例子立馬去試了一下蔚舀,發(fā)現(xiàn)真好用饵沧,試著鍵入 d0,哈哈赌躺,果然將當(dāng)前位置至行首的內(nèi)容都刪除了~)

刪除當(dāng)前括號(hào)內(nèi)的所有內(nèi)容狼牺,你可能會(huì)鍵入 di(,是的寿谴,就是這樣 :)

這種工作方式似乎沒(méi)有什么好爭(zhēng)論的锁右,它們是那么高效優(yōu)雅。如果你強(qiáng)迫自己每天去使用這些組合讶泰,它們會(huì)成為你的第二天性。在一段時(shí)間后拂到,你會(huì)發(fā)現(xiàn)通過(guò)減少按鍵次數(shù)而獲得的編輯速度是令人驚訝的痪署。

Vim 讓人上癮

是的,我知道這個(gè)已經(jīng)被用的不能再多了兄旬,但請(qǐng)?jiān)试S我再用一次 :)

Vim 有著臭名昭著的學(xué)習(xí)曲線狼犯。而一旦你度過(guò)了那段艱難時(shí)期——經(jīng)常對(duì)著電腦屏幕發(fā)詛咒(譯者注:當(dāng)你用不了鼠標(biāo),想要跳到某個(gè)字符卻不知道怎么能快一點(diǎn)领铐,傻傻的移動(dòng)方向鍵悯森,內(nèi)心是多么的崩潰。绪撵。瓢姻。),Vim 用起來(lái)其實(shí)挺好玩的音诈。

學(xué)習(xí)使用 Vim 的那些神秘命令幻碱,讓你能夠在操作文件上飛起來(lái)~一段時(shí)間過(guò)后,當(dāng)你的手指離開(kāi)了鍵盤(pán)或者不自覺(jué)的去使用鼠標(biāo)的時(shí)候细溅,你會(huì)覺(jué)得哪些地方不對(duì)勁(譯者注:Vim 讓你的手指完全不需要離開(kāi)鍵盤(pán)就能飛一般的工作褥傍,用慣了 GUI 的我在以前想都不敢想。喇聊。恍风。怎么可能嘛,是的,Vim 做到了E蟊帷)

僅僅在一個(gè)月之后凯楔,我發(fā)現(xiàn)自己在使用電腦的時(shí)候總是會(huì)不自覺(jué)的去用那些快捷鍵,盡管那些軟件并沒(méi)有這些快捷鍵兄世。

事實(shí)上啼辣,我也曾經(jīng)考慮過(guò)在瀏覽網(wǎng)頁(yè)的時(shí)候嘗試使用這個(gè) 擴(kuò)展 來(lái)啟用 Vim 快捷鍵。

幸運(yùn)的是御滩,編程社區(qū)都承認(rèn) Vim 的地位鸥拧。大多數(shù)主流的文本編輯器都總是有那么一些方法能夠啟用 Vim 的快捷鍵。這也使得 “Vimmers” 能夠脫離在世界上最好的兩種事物上要做出選擇的苦海削解。

給 Vim 一次戰(zhàn)斗的機(jī)會(huì)

要想提高在 Vim 上的造詣富弦,沒(méi)有任何其他什么武功秘籍,唯有日夜苦練基本功氛驮。行之有效的方式就是強(qiáng)迫自己用 Vim腕柜。

舉個(gè)例子,當(dāng)你使用 Vim 編輯文件的時(shí)候矫废,盡量不要使用你之前的舊習(xí)慣盏缤。大多數(shù)人在剛開(kāi)始的時(shí)候應(yīng)該盡量遠(yuǎn)離 ‘正常模式’。

相反蓖扑,他們?cè)噲D花盡可能多的時(shí)間在‘插入模式’上唉铜。在這個(gè)模式上,很容易讓人產(chǎn)生舒適感律杠。這也容易讓人在編輯文件的時(shí)候?qū)W不到任何其他新的東西潭流。很明顯這是一個(gè)錯(cuò)誤。

如果你確實(shí)有興趣學(xué)習(xí)如何讓 Vim 為你工作柜去,那么你必須付出一些努力灰嫉,花些時(shí)間去找出做事情的正確方式。

如果你發(fā)現(xiàn)自己為了完成任務(wù)嗓奢,不停地重復(fù)按那些鍵讼撒,請(qǐng)先停下來(lái)。因?yàn)楹芸赡苣阏谧龅氖虑橛懈玫姆绞饺ネ瓿伞?/strong>

Google 一下蔓罚,記住它椿肩,加入你的知識(shí)庫(kù)中。相比于去閱讀整個(gè)命令清單并試圖希望自己會(huì)在將來(lái)會(huì)需要用到其中一個(gè)命令豺谈,用這種方式非常容易能學(xué)到新的命令郑象。

在一段時(shí)間后,當(dāng)你在無(wú)腦敲鍵盤(pán)的時(shí)候茬末,你就可能會(huì)產(chǎn)生一種直覺(jué)(譯者注:這種直覺(jué)類(lèi)似于意識(shí)到自己目前在解決這件事的方式上可能會(huì)有更好的處理辦法)厂榛。那么請(qǐng)聽(tīng)從你的直覺(jué)盖矫。

感謝(?)現(xiàn)代編輯器

許多人回避 Vim 的另一個(gè)重要原因就是 Vim 看起來(lái)光禿禿的只有編輯這一個(gè)最最基本的功能。

確實(shí)击奶,默認(rèn)情況下辈双,Vim 本身并沒(méi)有自帶什么插件或者好用的功能的。并且柜砾,Vim 認(rèn)為好用的功能可能與程序員使用的現(xiàn)代 IDE 認(rèn)為的好用的功能有著比較大的差別湃望。

Vim 其實(shí)是有語(yǔ)法高亮功能的(但默認(rèn)情況下是被禁用的)。Vim 也沒(méi)有行號(hào)顯示(也需要你去將其開(kāi)啟)痰驱。

不用驚訝了证芭,下面這些東西也是默認(rèn)沒(méi)有的:

  • 默認(rèn)的 Git 集成
  • 代碼提示
  • 自動(dòng)標(biāo)點(diǎn)配對(duì)
  • 代碼片段
  • 自定義的顏色試圖

這些都是不預(yù)裝在 Vim 中的。

譯者注:其實(shí)寫(xiě)到這里担映,我覺(jué)得已經(jīng)有很多人萌生了退卻之意废士,確實(shí)要想玩好 Vim,需要花不少時(shí)間蝇完,免不了諸多的折騰官硝。愛(ài)折騰的人自然是興奮不已,比如譯者自己短蜕。但不愛(ài)折騰的氢架,譯者還是鼓勵(lì)去試著玩玩看,雖然現(xiàn)代 IDE 自帶了相當(dāng)多的功能朋魔,但是很多功能你也是需要去折騰才能熟練的使用达箍。

這似乎是一個(gè)巨大的轉(zhuǎn)折點(diǎn)——尤其是對(duì)于那些使用強(qiáng)大的 IDE 的開(kāi)發(fā)者們。大量的插件和擴(kuò)展被預(yù)裝在上面铺厨,為了能夠使工作更有效率。

從這個(gè)角度上來(lái)看硬纤,Vim 卻有其局限性解滓。

然而,在另一個(gè)方面筝家,即便你欣賞現(xiàn)代 IDE 提供的東西洼裤,以及通過(guò)它們構(gòu)建出的東西——你也會(huì)意識(shí)到,大多數(shù)的 IDE (甚至是一些普通的編輯器溪王,如 Atom)都帶來(lái)了大量的膨脹腮鞍。

高級(jí)的 IDE 充斥著許許多多普通用戶幾乎很少使用的特性。

學(xué)習(xí)有效地使用 Vim 在某種程度上其實(shí)是一種鍛煉莹菱,你可以慢慢發(fā)現(xiàn)哪些插件對(duì)你來(lái)說(shuō)是至關(guān)重要的移国。重點(diǎn)是打造出一款適合你的需求和工作流的獨(dú)一無(wú)二的編輯器。(譯者注:這一點(diǎn)太能打動(dòng)我了 TAT)

多數(shù)情況下道伟,使用 IDE 這些完全成熟體無(wú)可厚非迹缀。這些高級(jí)功能給你帶來(lái)的好處確實(shí)可能遠(yuǎn)超使用 Vim 帶來(lái)的使碾。

但是!Vim 能夠讓你搞清楚自己祝懂,因?yàn)樗侵泵婺愕膬?nèi)心的 :P

盡管 Vim 看起來(lái)光禿禿的票摇,但是它其實(shí)是擁有一個(gè)非常完備、蓬勃發(fā)展的插件生態(tài)系統(tǒng)砚蓬。

Vim 擁有幾乎所有你能在其他編輯器中用到的插件矢门。你只需要找到那些你需要 的就好了。

讓我驚訝的是灰蛙,在只有少量插件的情況下我能走得有多遠(yuǎn)祟剔。目前我的 Vim 大概只有 5 到 6 個(gè)“基本”插件組成,但我真不覺(jué)得我錯(cuò)過(guò)了什么缕允。

Vim 并不是完美的峡扩,而且也絕對(duì)不是適合所有人的。

但是至少障本,學(xué)好 Vim 有一個(gè)好處教届,萬(wàn)一你哪一天突然不小心打開(kāi)了 Vim,然后找不到如何退出的方法驾霜。案训。。粪糙! ;)
[圖片上傳失敗...(image-e1fcdb-1511753861770)]

學(xué)習(xí)基礎(chǔ)

如果你沒(méi)怎么用過(guò)强霎,Vim 可能看起來(lái)像是一個(gè)非常古老的文本編輯器。說(shuō)起它的來(lái)源蓉冈,需要追溯到一款在七十年代出現(xiàn)的叫做 Vi 的程序城舞。

由于 Vim 的設(shè)計(jì)初衷就是完全依賴(lài)鍵盤(pán)就能工作的編輯器,所以這也成了它既吸引人又讓人討厭的地方寞酿。畢竟當(dāng) Vi 被構(gòu)思出來(lái)時(shí)家夺,只需要鼠標(biāo)點(diǎn)點(diǎn)的那些 GUI 可視化界面還并不是怎么實(shí)用的東西呢。

Vim 使用模式(mode)的方式來(lái)操作伐弹,有兩種主要的模式最常被使用到:

  • 正常模式(Normal mode):這種模式是在你瀏覽拉馋、編輯或者操作文件的時(shí)候使用。如果你不涉及輸入新的內(nèi)容到文件中惨好,該模式下你可以做任何其他事煌茴。大多數(shù)的 Vim 命令都是在這個(gè)模式下完成。
  • 插入模式(Insert mode):這種模式允許你輸入新文本到文件中去日川,這時(shí)候 Vim 表現(xiàn)得更像是一個(gè)“正經(jīng)”的文本編輯器蔓腐,比如 Atom 或者 Sublime。當(dāng)然了逗鸣,還是不需要使用鼠標(biāo)的合住,即使你想用也用不了 :)

Vim 也還有其他模式绰精,其中一個(gè)是 虛擬模式(Visual mode),在選擇大段文本的時(shí)候使用透葛。一般來(lái)說(shuō)笨使,這些模式在平時(shí)使用的頻率不高。

Vim 一般是在終端模擬器中使用的僚害,但單獨(dú)的發(fā)行版也是有的硫椰。Vim 可以被使用在任何 Unix 和 Linux 操作系統(tǒng)上。Vim 的爺爺——Vi萨蚕,作為 UNIX 規(guī)范的一部分靶草,很自然的,它被預(yù)裝在任何基于 UNIX 的合格操作系統(tǒng)上岳遥。

可組合性

“可組合性”使得 Vim 在很大程度上區(qū)別于其他編輯器奕翔。它賦予了 Vim 獨(dú)有的語(yǔ)言。

它在文本編輯和操作的語(yǔ)境中浩蓉,引入了名詞和動(dòng)詞的概念派继。

動(dòng)詞描述的是你能做什么(比如刪除、改變捻艳、移動(dòng)等)驾窟。

名詞描述的是正在發(fā)生的事情(通常是單詞、行或者文本中的某些地方)认轨。

其中一些常見(jiàn)的動(dòng)名詞包括:

動(dòng)詞
d:刪除
c:改變(覆蓋)
y:復(fù)制
>:縮進(jìn)
<:取消縮進(jìn)

操作
h,j,k,l:向左绅络,向下,向上嘁字,向右
w:下一個(gè)單詞
b:上一個(gè)單詞
0:行首
$:行末
i:?jiǎn)卧~內(nèi)(不含下一個(gè)字符)
a:?jiǎn)卧~周?chē)?

這份列表并不詳盡恩急,其實(shí)有非常多可使用的快捷鍵。但是你僅僅使用其中非臣脱眩基礎(chǔ)的幾個(gè)快捷鍵就能夠?qū)崿F(xiàn)大部分操作假栓。方法就是將動(dòng)名詞和偶爾出現(xiàn)的數(shù)字組合在一起,你就能創(chuàng)建出不同的 行為 去操作需要的文本霍掺。

舉個(gè)例子,為了刪除一個(gè)單詞(delete a word)拌蜘,你可以鍵入組合鍵 dw杆烁。

從當(dāng)前位置刪除兩個(gè)單詞(delect 2 word),你可以輸入 d2w简卧。

從當(dāng)前位置一路刪除至行末兔魂,你可以輸入 d$

(譯者注:我其實(shí)也是一個(gè) newbie举娩,看到這幾個(gè)例子立馬去試了一下析校,發(fā)現(xiàn)真好用构罗,試著鍵入 d0,哈哈智玻,果然將當(dāng)前位置至行首的內(nèi)容都刪除了~)

刪除當(dāng)前括號(hào)內(nèi)的所有內(nèi)容遂唧,你可能會(huì)鍵入 di(,是的吊奢,就是這樣 :)

這種工作方式似乎沒(méi)有什么好爭(zhēng)論的盖彭,它們是那么高效優(yōu)雅。如果你強(qiáng)迫自己每天去使用這些組合页滚,它們會(huì)成為你的第二天性召边。在一段時(shí)間后,你會(huì)發(fā)現(xiàn)通過(guò)減少按鍵次數(shù)而獲得的編輯速度是令人驚訝的裹驰。

Vim 讓人上癮

是的隧熙,我知道這個(gè)已經(jīng)被用的不能再多了,但請(qǐng)?jiān)试S我再用一次 :)

[圖片上傳失敗...(image-5ef64b-1511753861770)]

Vim 有著臭名昭著的學(xué)習(xí)曲線幻林。而一旦你度過(guò)了那段艱難時(shí)期——經(jīng)常對(duì)著電腦屏幕發(fā)詛咒(譯者注:當(dāng)你用不了鼠標(biāo)贞盯,想要跳到某個(gè)字符卻不知道怎么能快一點(diǎn),傻傻的移動(dòng)方向鍵滋将,內(nèi)心是多么的崩潰邻悬。。随闽。)父丰,Vim 用起來(lái)其實(shí)挺好玩的。

學(xué)習(xí)使用 Vim 的那些神秘命令掘宪,讓你能夠在操作文件上飛起來(lái)~一段時(shí)間過(guò)后蛾扇,當(dāng)你的手指離開(kāi)了鍵盤(pán)或者不自覺(jué)的去使用鼠標(biāo)的時(shí)候,你會(huì)覺(jué)得哪些地方不對(duì)勁(譯者注:Vim 讓你的手指完全不需要離開(kāi)鍵盤(pán)就能飛一般的工作魏滚,用慣了 GUI 的我在以前想都不敢想镀首。。鼠次。怎么可能嘛更哄,是的,Vim 做到了P瓤堋)

僅僅在一個(gè)月之后成翩,我發(fā)現(xiàn)自己在使用電腦的時(shí)候總是會(huì)不自覺(jué)的去用那些快捷鍵,盡管那些軟件并沒(méi)有這些快捷鍵赦役。

事實(shí)上麻敌,我也曾經(jīng)考慮過(guò)在瀏覽網(wǎng)頁(yè)的時(shí)候嘗試使用這個(gè) 擴(kuò)展 來(lái)啟用 Vim 快捷鍵。

幸運(yùn)的是掂摔,編程社區(qū)都承認(rèn) Vim 的地位术羔。大多數(shù)主流的文本編輯器都總是有那么一些方法能夠啟用 Vim 的快捷鍵赢赊。這也使得 “Vimmers” 能夠脫離在世界上最好的兩種事物上要做出選擇的苦海。

給 Vim 一次戰(zhàn)斗的機(jī)會(huì)

要想提高在 Vim 上的造詣级历,沒(méi)有任何其他什么武功秘籍释移,唯有日夜苦練基本功。行之有效的方式就是強(qiáng)迫自己用 Vim鱼喉。

舉個(gè)例子秀鞭,當(dāng)你使用 Vim 編輯文件的時(shí)候,盡量不要使用你之前的舊習(xí)慣扛禽。大多數(shù)人在剛開(kāi)始的時(shí)候應(yīng)該盡量遠(yuǎn)離 ‘正常模式’锋边。

相反,他們?cè)噲D花盡可能多的時(shí)間在‘插入模式’上编曼。在這個(gè)模式上豆巨,很容易讓人產(chǎn)生舒適感。這也容易讓人在編輯文件的時(shí)候?qū)W不到任何其他新的東西掐场。很明顯這是一個(gè)錯(cuò)誤往扔。

如果你確實(shí)有興趣學(xué)習(xí)如何讓 Vim 為你工作,那么你必須付出一些努力熊户,花些時(shí)間去找出做事情的正確方式萍膛。

如果你發(fā)現(xiàn)自己為了完成任務(wù),不停地重復(fù)按那些鍵嚷堡,請(qǐng)先停下來(lái)蝗罗。因?yàn)楹芸赡苣阏谧龅氖虑橛懈玫姆绞饺ネ瓿伞?/strong>

Google 一下,記住它蝌戒,加入你的知識(shí)庫(kù)中串塑。相比于去閱讀整個(gè)命令清單并試圖希望自己會(huì)在將來(lái)會(huì)需要用到其中一個(gè)命令,用這種方式非常容易能學(xué)到新的命令北苟。

在一段時(shí)間后桩匪,當(dāng)你在無(wú)腦敲鍵盤(pán)的時(shí)候,你就可能會(huì)產(chǎn)生一種直覺(jué)(譯者注:這種直覺(jué)類(lèi)似于意識(shí)到自己目前在解決這件事的方式上可能會(huì)有更好的處理辦法)友鼻。那么請(qǐng)聽(tīng)從你的直覺(jué)傻昙。

感謝(?)現(xiàn)代編輯器

許多人回避 Vim 的另一個(gè)重要原因就是 Vim 看起來(lái)光禿禿的只有編輯這一個(gè)最最基本的功能。

確實(shí)彩扔,默認(rèn)情況下屋匕,Vim 本身并沒(méi)有自帶什么插件或者好用的功能的。并且借杰,Vim 認(rèn)為好用的功能可能與程序員使用的現(xiàn)代 IDE 認(rèn)為的好用的功能有著比較大的差別。

Vim 其實(shí)是有語(yǔ)法高亮功能的(但默認(rèn)情況下是被禁用的)进泼。Vim 也沒(méi)有行號(hào)顯示(也需要你去將其開(kāi)啟)蔗衡。

不用驚訝了纤虽,下面這些東西也是默認(rèn)沒(méi)有的:

  • 默認(rèn)的 Git 集成
  • 代碼提示
  • 自動(dòng)標(biāo)點(diǎn)配對(duì)
  • 代碼片段
  • 自定義的顏色試圖

這些都是不預(yù)裝在 Vim 中的。

譯者注:其實(shí)寫(xiě)到這里绞惦,我覺(jué)得已經(jīng)有很多人萌生了退卻之意逼纸,確實(shí)要想玩好 Vim,需要花不少時(shí)間济蝉,免不了諸多的折騰杰刽。愛(ài)折騰的人自然是興奮不已,比如譯者自己王滤。但不愛(ài)折騰的贺嫂,譯者還是鼓勵(lì)去試著玩玩看,雖然現(xiàn)代 IDE 自帶了相當(dāng)多的功能雁乡,但是很多功能你也是需要去折騰才能熟練的使用第喳。

這似乎是一個(gè)巨大的轉(zhuǎn)折點(diǎn)——尤其是對(duì)于那些使用強(qiáng)大的 IDE 的開(kāi)發(fā)者們。大量的插件和擴(kuò)展被預(yù)裝在上面踱稍,為了能夠使工作更有效率曲饱。

從這個(gè)角度上來(lái)看,Vim 卻有其局限性珠月。

然而扩淀,在另一個(gè)方面,即便你欣賞現(xiàn)代 IDE 提供的東西啤挎,以及通過(guò)它們構(gòu)建出的東西——你也會(huì)意識(shí)到驻谆,大多數(shù)的 IDE (甚至是一些普通的編輯器,如 Atom)都帶來(lái)了大量的膨脹侵浸。

高級(jí)的 IDE 充斥著許許多多普通用戶幾乎很少使用的特性旺韭。

學(xué)習(xí)有效地使用 Vim 在某種程度上其實(shí)是一種鍛煉,你可以慢慢發(fā)現(xiàn)哪些插件對(duì)你來(lái)說(shuō)是至關(guān)重要的掏觉。重點(diǎn)是打造出一款適合你的需求和工作流的獨(dú)一無(wú)二的編輯器区端。(譯者注:這一點(diǎn)太能打動(dòng)我了 TAT)

多數(shù)情況下,使用 IDE 這些完全成熟體無(wú)可厚非澳腹。這些高級(jí)功能給你帶來(lái)的好處確實(shí)可能遠(yuǎn)超使用 Vim 帶來(lái)的织盼。

但是!Vim 能夠讓你搞清楚自己酱塔,因?yàn)樗侵泵婺愕膬?nèi)心的 :P

盡管 Vim 看起來(lái)光禿禿的沥邻,但是它其實(shí)是擁有一個(gè)非常完備、蓬勃發(fā)展的插件生態(tài)系統(tǒng)羊娃。

Vim 擁有幾乎所有你能在其他編輯器中用到的插件唐全。你只需要找到那些你需要 的就好了。

讓我驚訝的是,在只有少量插件的情況下我能走得有多遠(yuǎn)邮利。目前我的 Vim 大概只有 5 到 6 個(gè)“基本”插件組成弥雹,但我真不覺(jué)得我錯(cuò)過(guò)了什么。

Vim 并不是完美的延届,而且也絕對(duì)不是適合所有人的剪勿。

但是至少,學(xué)好 Vim 有一個(gè)好處方庭,萬(wàn)一你哪一天突然不小心打開(kāi)了 Vim厕吉,然后找不到如何退出的方法。械念。头朱。! ;)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末订讼,一起剝皮案震驚了整個(gè)濱河市髓窜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌欺殿,老刑警劉巖寄纵,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異脖苏,居然都是意外死亡程拭,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)棍潘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)恃鞋,“玉大人,你說(shuō)我怎么就攤上這事亦歉⌒衾耍” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵肴楷,是天一觀的道長(zhǎng)水由。 經(jīng)常有香客問(wèn)我,道長(zhǎng)赛蔫,這世上最難降的妖魔是什么砂客? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮呵恢,結(jié)果婚禮上鞠值,老公的妹妹穿的比我還像新娘。我一直安慰自己渗钉,他們只是感情好彤恶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般声离。 火紅的嫁衣襯著肌膚如雪歇竟。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,679評(píng)論 1 305
  • 那天抵恋,我揣著相機(jī)與錄音,去河邊找鬼宝磨。 笑死弧关,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的唤锉。 我是一名探鬼主播世囊,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼窿祥!你這毒婦竟也來(lái)了株憾?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤晒衩,失蹤者是張志新(化名)和其女友劉穎嗤瞎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體听系,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贝奇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了靠胜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掉瞳。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖浪漠,靈堂內(nèi)的尸體忽然破棺而出陕习,到底是詐尸還是另有隱情名眉,我是刑警寧澤漠嵌,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布仅财,位于F島的核電站饱须,受9級(jí)特大地震影響蒙幻,放射性物質(zhì)發(fā)生泄漏朵栖。R本人自食惡果不足惜责循,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一撮珠、第九天 我趴在偏房一處隱蔽的房頂上張望歌粥。 院中可真熱鬧塌忽,春花似錦、人聲如沸失驶。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至擦耀,卻和暖如春棉圈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背眷蜓。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工分瘾, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吁系。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓德召,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親汽纤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子上岗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評(píng)論 25 707
  • 本文由編程派-EarlGrey翻譯,原文出自realpython蕴坪,是Vim的愛(ài)好者專(zhuān)門(mén)針對(duì)利用Sublime Te...
    EarlGrey閱讀 28,730評(píng)論 7 143
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理肴掷,服務(wù)發(fā)現(xiàn),斷路器背传,智...
    卡卡羅2017閱讀 134,659評(píng)論 18 139
  • 1 婦人悉悉簌簌又在裂嘴罵著老漢“你這個(gè)不爭(zhēng)氣的東西呆瞻,我當(dāng)初是瞎了眼,才會(huì)跟著你续室,這么多年栋烤,沒(méi)過(guò)過(guò)一天好日子⊥φ”老...
    林小仙仙仙閱讀 783評(píng)論 10 12
  • 燈火闌珊的街角有著不為人知的秘密明郭,有著這樣一群人,不被任何人關(guān)注丰泊,他們流浪在各個(gè)城市的街角薯定,行走在陰暗中,他們是黑...
    蘇a晨啊閱讀 172評(píng)論 0 1