vim具有自定義配色方案,語(yǔ)法高亮,linting和自動(dòng)填充功能
Vim是一個(gè)以非常難學(xué)而聞名的命令行文本編輯器(有個(gè)關(guān)于Vim的笑話:?jiǎn)柸绾紊梢淮骐S機(jī)數(shù),答讓一個(gè)Web開(kāi)發(fā)人員退出Vim)。所以為什么還要學(xué)習(xí)它呢,尤其是當(dāng)你已經(jīng)習(xí)慣現(xiàn)有的文本編輯器或者IDE的情況下?學(xué)習(xí)Vim的優(yōu)勢(shì)包括以下幾點(diǎn):
Vim內(nèi)置于任何類(lèi)Unix系統(tǒng)上,這意味著你可以直接在服務(wù)器上編輯文件(這點(diǎn)非常有用)
與大多數(shù)文本編輯器和IDE相比,Vim是輕量級(jí)的,所以它即使在性能較弱的硬件上運(yùn)行速度也很快且高效
Vim是完全由鍵盤(pán)驅(qū)動(dòng)的(且大多數(shù)動(dòng)作都集中在主排),因此它將使您更有效率?
在最后提高效率這一點(diǎn)后我打了個(gè)問(wèn)號(hào),這是你會(huì)經(jīng)常聽(tīng)說(shuō)的觀點(diǎn),但是我覺(jué)得不一定適用于每個(gè)人?;旧希瑸榱俗屖褂肰im更有效率,你不僅需要花很多時(shí)間來(lái)了解它,更需要掌握它。這意味著使用它節(jié)約的時(shí)間通常會(huì)與用來(lái)熟練掌握它的時(shí)間抵消,而你需要持續(xù)花時(shí)間來(lái)掌握它。我會(huì)說(shuō)學(xué)習(xí)Vim最好的原因是你享受花時(shí)間學(xué)習(xí)掌握一項(xiàng)復(fù)雜的技能這一過(guò)程。在這種意義上,這與想要學(xué)習(xí)一種新樂(lè)器的人的心態(tài)并無(wú)不同。
如果你認(rèn)為以上列出的這些原因有吸引力,那你可以按照下面列出的四周計(jì)劃來(lái)學(xué)習(xí)Vim。 這是我曾經(jīng)學(xué)習(xí)Vim的方法,它來(lái)源于我在各論壇和教程中多次遇到的相似的建議。我還加入了一些我自己學(xué)習(xí)過(guò)程中的經(jīng)驗(yàn)。
第1周:每天學(xué)習(xí)一次vimtutor
很多人相信學(xué)習(xí)vim基礎(chǔ)的最佳方法是在終端簡(jiǎn)單地輸入這一命令:
這一命令會(huì)在Vim中打開(kāi)一個(gè)包含基本Vim命令的分步說(shuō)明文本文件。瀏覽完整個(gè)文檔大概需要30分鐘左右。如果你了解vimtutor中涵蓋的命令,那么您已經(jīng)準(zhǔn)備好使用Vim了。
問(wèn)題是vimtutor包含了很多命令,沒(méi)有辦法一次學(xué)會(huì)所有的命令!我的建議是每天堅(jiān)持輸入一次Vimtutor,這一習(xí)慣至少持續(xù)一個(gè)星期。每次你這樣做時(shí)看看學(xué)習(xí)完整個(gè)文檔的速度有無(wú)提升。同時(shí)為自己設(shè)定一個(gè)目標(biāo)——看看你是否可以在5分鐘內(nèi)看完整個(gè)文檔。要點(diǎn)是不要死記硬背每個(gè)命令——重點(diǎn)是花大量的時(shí)間練習(xí),直到基本的導(dǎo)航和編輯命令成為第二本能。
如果您的目標(biāo)是要足夠了解Vim,以便能夠在服務(wù)器上遠(yuǎn)程編輯文件,那么您可以在此停止——您已經(jīng)知道足夠多了!如果您想使用Vim作為您的編輯器,您可以繼續(xù)下一步。
第2周:盡可能少地進(jìn)行其他配置,不使用插件
學(xué)會(huì)了Vim中的導(dǎo)航和編輯,下一步你會(huì)希望進(jìn)行個(gè)性化配置。Vim的默認(rèn)配置相當(dāng)普通而過(guò)時(shí),但使用vimrc配置文件可以自定義功能。重要的是不要添加太多插件試圖使Vim成為一個(gè)完整的IDE——Vim作為Vim就很好,作為IDE則很糟糕。
請(qǐng)按照本文來(lái)構(gòu)建您自己的vimrc文件。作為開(kāi)始,這些是我為數(shù)不多的推薦配置的東西:
添加一個(gè)配色方案(我使用的是vim-code-dark,基于Visual Studio代碼)
打開(kāi)語(yǔ)法高亮
設(shè)置空格和制表符
設(shè)置自動(dòng)縮進(jìn)
打開(kāi)行號(hào)
用tab在子文件夾中查找文件
配置為按ESC快速退出插入模式(我將我的大寫(xiě)鎖定鍵更改為CTRL并使用CTRL C退出插入模式)
事實(shí)上,這就是全部了!(無(wú)插件規(guī)則的唯一例外是,如果您需要對(duì)Vim不支持的語(yǔ)言安裝語(yǔ)言具體支持)。 目標(biāo)是避免一周內(nèi)的任何其他配置或花哨的插件——這可能會(huì)感到痛苦,但這將避免你花費(fèi)所有時(shí)間來(lái)配置Vim,而不是練習(xí)Vim。
提示:當(dāng)您配置vim時(shí),在主目錄中使用結(jié)構(gòu)如下的.vim文件夾。較新版本的Vim將在.vim文件夾中查找vimrc文件,以便將所有內(nèi)容保存在一個(gè)文件夾中。 這允許您使您的.vim文件夾成為一個(gè)git repo,您可以輕松地復(fù)制到任何計(jì)算機(jī)上!
第3周:盡可能少地使用插件
在使用vim完成過(guò)實(shí)際項(xiàng)目之后,你會(huì)更好地了解vim的功能,此時(shí)你可以進(jìn)行一些自定義配置。但是,你仍然應(yīng)該注意不要安裝從根本上改變vim如何工作的插件。以下列舉了一些很受歡迎的插件類(lèi)型,但我建議你現(xiàn)在不要使用:
不要安裝插件管理器(較新版本的Vim原生的插件管理就已足夠)
不要安裝樹(shù)瀏覽器或模糊文件查找器插件(使用:find與子文件夾搜索效果就很好)
不要為可視化標(biāo)簽安裝插件(試著習(xí)慣原生Vim緩存,:b
不要安裝自動(dòng)完成的插件(原生Vim已經(jīng)可以使用
不要為多行注釋安裝插件(嘗試使用可視化模式)
不要為多游標(biāo)安裝插件(使用帶n的/搜索,需要時(shí)重復(fù).)
以上所要表達(dá)的重點(diǎn)是,很多時(shí)候插件會(huì)阻礙你學(xué)習(xí)Vim實(shí)際功能。所有上述類(lèi)型的插件都很棒,可以節(jié)省時(shí)間,但是只有當(dāng)你完全了解如何使用原生Vim完成相同的任務(wù)后,你才能安裝這些插件。
也就是說(shuō),有一些插件,不改變vim的核心行為,且會(huì)使日常使用更方便。以下是我使用的一些插件:
考慮安裝auto-pairs.vim(成對(duì)插入或刪除括號(hào),花括號(hào),引號(hào))
考慮安裝endwise.vim(Ruby中,在if,do,def等之后自動(dòng)添加end)
考慮安裝ragtag.vim(HTML,erb等中的標(biāo)簽助手)
第4周:用動(dòng)詞和名詞組合Vim命令
此時(shí)你已經(jīng)足夠了解Vim,可以開(kāi)始組合新的命令,而不是記憶新的命令。組合新的命令代表著正式將Vim視為一種語(yǔ)言。Chris Toomey的“掌握Vim語(yǔ)言”演講很值得一看,它展示了這個(gè)概念的強(qiáng)大之處。
簡(jiǎn)而言之,你需要知道一些動(dòng)詞和名詞:
動(dòng)詞 — d(刪除),c(修改),y(復(fù)制),>(縮進(jìn))
名詞(動(dòng)作性的) — w(單詞),b(前移一個(gè)單詞),2j(下移兩行)
名詞(文本對(duì)象) — iw(內(nèi)部單詞),it(內(nèi)部標(biāo)簽),i""(內(nèi)部引用)
然后,您可以組合動(dòng)詞和名詞來(lái)創(chuàng)建任意數(shù)量的命令
dw:刪除到單詞末尾
diw:刪除光標(biāo)所在單詞
y4j:復(fù)制四行
cit:修改HTML標(biāo)簽內(nèi)的內(nèi)容
演講中指出,記住約30條命令可以讓你組合超過(guò)2000個(gè)不同的命令。請(qǐng)注意,我在第4周提出這一點(diǎn) - 這個(gè)東西是非常強(qiáng)大的,但只有當(dāng)你對(duì)Vim有一個(gè)很好的把握時(shí)才有用。 3周后,你應(yīng)該能很好的掌握30個(gè)必要的命令,以達(dá)到這個(gè)級(jí)別!
該演講還提到安裝插件以增強(qiáng)Vim語(yǔ)言。一如之前反復(fù)提及的,安裝插件時(shí)應(yīng)謹(jǐn)慎。但在這種情況下,我們討論的是增強(qiáng)Vim語(yǔ)言性的插件(而不是與Vim的核心行為相矛盾的插件)。以下是一些值得一看的插件:
考慮安裝surround.vim(添加一個(gè)新的修飾符來(lái)更改包圍的引號(hào),括號(hào)等)
考慮安裝commentary.vim(添加一個(gè)新的動(dòng)詞到注釋行)
考慮安裝repeat.vim(為特定插件添加.repeat支持)
(上述所有插件都是由Time Pope提供,一個(gè)在你學(xué)習(xí)Vim的過(guò)程中必然會(huì)遇到的名字)
提示:在演講中,他們使用相對(duì)行號(hào),實(shí)際上我不推薦。很多人在相對(duì)行號(hào)剛開(kāi)始引入時(shí)就成了其粉絲,但我也聽(tīng)說(shuō)過(guò)一段時(shí)間后遇到問(wèn)題的人(例如代碼可讀性變差,有時(shí)會(huì)導(dǎo)致性能問(wèn)題等)。因?yàn)槟憧梢允褂贸R?guī)的Vim命令G或gg輕松完成相同的操作(移動(dòng)到或刪除特定的行),所以我個(gè)人覺(jué)得它沒(méi)有實(shí)際用途。
總結(jié)
學(xué)習(xí)Vim是件繁重的任務(wù),但也可以很有趣。如果你對(duì)花費(fèi)一個(gè)月的時(shí)間來(lái)學(xué)習(xí)一個(gè)文本編輯器這件事感到畏縮,這可能不適合你。然而,我認(rèn)為大多數(shù)開(kāi)發(fā)者可以從第一周的建議中受益匪淺,至少能夠獲得直接在服務(wù)器上編輯文件的能力。你將能真正實(shí)現(xiàn)使用VPS在iPad或Chromebook上編寫(xiě)代碼。至少,當(dāng)Vim在你的終端中打開(kāi)時(shí),你將不會(huì)看起來(lái)很傻的困?。?/p>
如果你確實(shí)完成了4周計(jì)劃,你的編程能力將提升一個(gè)等級(jí)。實(shí)際上我不知道這是否會(huì)使你更有效率(因?yàn)槟憧赡軙?huì)把編寫(xiě)代碼的時(shí)間用來(lái)學(xué)習(xí)更多酷炫技巧并嘗試新的配置)。正如之前所說(shuō),它更像是學(xué)習(xí)一個(gè)樂(lè)器(取決于你的個(gè)性),你可以從逐漸掌握Vim的過(guò)程中得到快樂(lè)。希望這些建議對(duì)你的學(xué)習(xí)有所幫助!
-
IDE
+關(guān)注
關(guān)注
0文章
342瀏覽量
46914 -
Unix系統(tǒng)
+關(guān)注
關(guān)注
0文章
15瀏覽量
9690 -
VIM
+關(guān)注
關(guān)注
0文章
134瀏覽量
15366 -
文本編輯器
+關(guān)注
關(guān)注
0文章
28瀏覽量
8143
原文標(biāo)題:學(xué)習(xí)Vim的四周計(jì)劃
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
安謀科技四周年獻(xiàn)禮,提前完成五年規(guī)劃目標(biāo)
![安謀科技<b class='flag-5'>四周</b>年獻(xiàn)禮,提前完成五年規(guī)劃目標(biāo)](https://file.elecfans.com/web2/M00/3E/E4/poYBAGJktvqAaT7SABArH6qP_-c357.png)
“上傳資料——做分享達(dá)人”活動(dòng)第四周中獎(jiǎng)名單
【活動(dòng)結(jié)束】2016年STM32全國(guó)巡回研討會(huì)限時(shí)報(bào)名?。?.22第四周開(kāi)獎(jiǎng))
【RTOS第二期訓(xùn)練營(yíng)】四周學(xué)會(huì)嵌入式RTOS開(kāi)發(fā)!快來(lái)?yè)屆赓M(fèi)學(xué)習(xí)機(jī)會(huì)!
labview界面設(shè)計(jì),請(qǐng)問(wèn)四周修飾框中間的文字怎么嵌進(jìn)去的?
學(xué)會(huì)使用和如何配置vim功能最強(qiáng)大文本文件編輯器
學(xué)會(huì)使用和如何配置vim文本編輯器
樂(lè)視超級(jí)電視迎來(lái)四周歲 四周年獻(xiàn)禮新品5月16日4U發(fā)布會(huì)見(jiàn)
利用Excel DSP兼容的第三方算法來(lái)對(duì)數(shù)字電機(jī)控制詳細(xì)資料概述
![<b class='flag-5'>利用</b>Excel DSP兼容的第三方算法<b class='flag-5'>來(lái)</b>對(duì)數(shù)字電機(jī)控制<b class='flag-5'>詳細(xì)</b>資料<b class='flag-5'>概述</b>](https://file.elecfans.com/web1/M00/50/3B/pIYBAFrwEsuAelh7AAFZfWiOfbQ951.png)
如何利用LM3447來(lái)進(jìn)行非隔離調(diào)光GU10電源的詳細(xì)資料圖解概述
如何設(shè)置vimrc(vim的設(shè)置文件)的詳細(xì)過(guò)程資料免費(fèi)下載
![如何設(shè)置vimrc(<b class='flag-5'>vim</b>的設(shè)置文件)的<b class='flag-5'>詳細(xì)</b>過(guò)程資料免費(fèi)下載](https://file.elecfans.com/web1/M00/65/7B/o4YBAFurPKKALa2nAASlZeAv3Do958.png)
強(qiáng)勢(shì)助力!甄會(huì)選920四周年店慶,十一大合作伙伴鼎力支持
OnePlus 9智能手機(jī)將比預(yù)期的發(fā)布時(shí)間提前四周發(fā)布
中國(guó)光伏模塊價(jià)格連續(xù)四周下滑創(chuàng)新低
![中國(guó)光伏模塊價(jià)格連續(xù)<b class='flag-5'>四周</b>下滑創(chuàng)新低](https://file1.elecfans.com/web2/M00/A3/4A/wKgaomT4StyAQ7UEAAAMrhv65Kk076.png)
評(píng)論