vim具有自定義配色方案,語法高亮,linting和自動(dòng)填充功能
Vim是一個(gè)以非常難學(xué)而聞名的命令行文本編輯器(有個(gè)關(guān)于Vim的笑話:問如何生成一串真隨機(jī)數(shù),答讓一個(gè)Web開發(fā)人員退出Vim)。所以為什么還要學(xué)習(xí)它呢,尤其是當(dāng)你已經(jīng)習(xí)慣現(xiàn)有的文本編輯器或者IDE的情況下?學(xué)習(xí)Vim的優(yōu)勢包括以下幾點(diǎn):
Vim內(nèi)置于任何類Unix系統(tǒng)上,這意味著你可以直接在服務(wù)器上編輯文件(這點(diǎn)非常有用)
與大多數(shù)文本編輯器和IDE相比,Vim是輕量級的,所以它即使在性能較弱的硬件上運(yùn)行速度也很快且高效
Vim是完全由鍵盤驅(qū)動(dòng)的(且大多數(shù)動(dòng)作都集中在主排),因此它將使您更有效率?
在最后提高效率這一點(diǎn)后我打了個(gè)問號,這是你會(huì)經(jīng)常聽說的觀點(diǎn),但是我覺得不一定適用于每個(gè)人?;旧希瑸榱俗屖褂肰im更有效率,你不僅需要花很多時(shí)間來了解它,更需要掌握它。這意味著使用它節(jié)約的時(shí)間通常會(huì)與用來熟練掌握它的時(shí)間抵消,而你需要持續(xù)花時(shí)間來掌握它。我會(huì)說學(xué)習(xí)Vim最好的原因是你享受花時(shí)間學(xué)習(xí)掌握一項(xiàng)復(fù)雜的技能這一過程。在這種意義上,這與想要學(xué)習(xí)一種新樂器的人的心態(tài)并無不同。
如果你認(rèn)為以上列出的這些原因有吸引力,那你可以按照下面列出的四周計(jì)劃來學(xué)習(xí)Vim。 這是我曾經(jīng)學(xué)習(xí)Vim的方法,它來源于我在各論壇和教程中多次遇到的相似的建議。我還加入了一些我自己學(xué)習(xí)過程中的經(jīng)驗(yàn)。
第1周:每天學(xué)習(xí)一次vimtutor
很多人相信學(xué)習(xí)vim基礎(chǔ)的最佳方法是在終端簡單地輸入這一命令:
這一命令會(huì)在Vim中打開一個(gè)包含基本Vim命令的分步說明文本文件。瀏覽完整個(gè)文檔大概需要30分鐘左右。如果你了解vimtutor中涵蓋的命令,那么您已經(jīng)準(zhǔn)備好使用Vim了。
問題是vimtutor包含了很多命令,沒有辦法一次學(xué)會(huì)所有的命令!我的建議是每天堅(jiān)持輸入一次Vimtutor,這一習(xí)慣至少持續(xù)一個(gè)星期。每次你這樣做時(shí)看看學(xué)習(xí)完整個(gè)文檔的速度有無提升。同時(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)普通而過時(shí),但使用vimrc配置文件可以自定義功能。重要的是不要添加太多插件試圖使Vim成為一個(gè)完整的IDE——Vim作為Vim就很好,作為IDE則很糟糕。
請按照本文來構(gòu)建您自己的vimrc文件。作為開始,這些是我為數(shù)不多的推薦配置的東西:
添加一個(gè)配色方案(我使用的是vim-code-dark,基于Visual Studio代碼)
打開語法高亮
設(shè)置空格和制表符
設(shè)置自動(dòng)縮進(jìn)
打開行號
用tab在子文件夾中查找文件
配置為按ESC快速退出插入模式(我將我的大寫鎖定鍵更改為CTRL并使用CTRL C退出插入模式)
事實(shí)上,這就是全部了?。o插件規(guī)則的唯一例外是,如果您需要對Vim不支持的語言安裝語言具體支持)。 目標(biāo)是避免一周內(nèi)的任何其他配置或花哨的插件——這可能會(huì)感到痛苦,但這將避免你花費(fèi)所有時(shí)間來配置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完成過實(shí)際項(xiàng)目之后,你會(huì)更好地了解vim的功能,此時(shí)你可以進(jìn)行一些自定義配置。但是,你仍然應(yīng)該注意不要安裝從根本上改變vim如何工作的插件。以下列舉了一些很受歡迎的插件類型,但我建議你現(xiàn)在不要使用:
不要安裝插件管理器(較新版本的Vim原生的插件管理就已足夠)
不要安裝樹瀏覽器或模糊文件查找器插件(使用: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í)際功能。所有上述類型的插件都很棒,可以節(jié)省時(shí)間,但是只有當(dāng)你完全了解如何使用原生Vim完成相同的任務(wù)后,你才能安裝這些插件。
也就是說,有一些插件,不改變vim的核心行為,且會(huì)使日常使用更方便。以下是我使用的一些插件:
考慮安裝auto-pairs.vim(成對插入或刪除括號,花括號,引號)
考慮安裝endwise.vim(Ruby中,在if,do,def等之后自動(dòng)添加end)
考慮安裝ragtag.vim(HTML,erb等中的標(biāo)簽助手)
第4周:用動(dòng)詞和名詞組合Vim命令
此時(shí)你已經(jīng)足夠了解Vim,可以開始組合新的命令,而不是記憶新的命令。組合新的命令代表著正式將Vim視為一種語言。Chris Toomey的“掌握Vim語言”演講很值得一看,它展示了這個(gè)概念的強(qiáng)大之處。
簡而言之,你需要知道一些動(dòng)詞和名詞:
動(dòng)詞 — d(刪除),c(修改),y(復(fù)制),>(縮進(jìn))
名詞(動(dòng)作性的) — w(單詞),b(前移一個(gè)單詞),2j(下移兩行)
名詞(文本對象) — iw(內(nèi)部單詞),it(內(nèi)部標(biāo)簽),i""(內(nèi)部引用)
然后,您可以組合動(dòng)詞和名詞來創(chuàng)建任意數(shù)量的命令
dw:刪除到單詞末尾
diw:刪除光標(biāo)所在單詞
y4j:復(fù)制四行
cit:修改HTML標(biāo)簽內(nèi)的內(nèi)容
演講中指出,記住約30條命令可以讓你組合超過2000個(gè)不同的命令。請注意,我在第4周提出這一點(diǎn) - 這個(gè)東西是非常強(qiáng)大的,但只有當(dāng)你對Vim有一個(gè)很好的把握時(shí)才有用。 3周后,你應(yīng)該能很好的掌握30個(gè)必要的命令,以達(dá)到這個(gè)級別!
該演講還提到安裝插件以增強(qiáng)Vim語言。一如之前反復(fù)提及的,安裝插件時(shí)應(yīng)謹(jǐn)慎。但在這種情況下,我們討論的是增強(qiáng)Vim語言性的插件(而不是與Vim的核心行為相矛盾的插件)。以下是一些值得一看的插件:
考慮安裝surround.vim(添加一個(gè)新的修飾符來更改包圍的引號,括號等)
考慮安裝commentary.vim(添加一個(gè)新的動(dòng)詞到注釋行)
考慮安裝repeat.vim(為特定插件添加.repeat支持)
(上述所有插件都是由Time Pope提供,一個(gè)在你學(xué)習(xí)Vim的過程中必然會(huì)遇到的名字)
提示:在演講中,他們使用相對行號,實(shí)際上我不推薦。很多人在相對行號剛開始引入時(shí)就成了其粉絲,但我也聽說過一段時(shí)間后遇到問題的人(例如代碼可讀性變差,有時(shí)會(huì)導(dǎo)致性能問題等)。因?yàn)槟憧梢允褂贸R?guī)的Vim命令G或gg輕松完成相同的操作(移動(dòng)到或刪除特定的行),所以我個(gè)人覺得它沒有實(shí)際用途。
總結(jié)
學(xué)習(xí)Vim是件繁重的任務(wù),但也可以很有趣。如果你對花費(fèi)一個(gè)月的時(shí)間來學(xué)習(xí)一個(gè)文本編輯器這件事感到畏縮,這可能不適合你。然而,我認(rèn)為大多數(shù)開發(fā)者可以從第一周的建議中受益匪淺,至少能夠獲得直接在服務(wù)器上編輯文件的能力。你將能真正實(shí)現(xiàn)使用VPS在iPad或Chromebook上編寫代碼。至少,當(dāng)Vim在你的終端中打開時(shí),你將不會(huì)看起來很傻的困?。?/p>
如果你確實(shí)完成了4周計(jì)劃,你的編程能力將提升一個(gè)等級。實(shí)際上我不知道這是否會(huì)使你更有效率(因?yàn)槟憧赡軙?huì)把編寫代碼的時(shí)間用來學(xué)習(xí)更多酷炫技巧并嘗試新的配置)。正如之前所說,它更像是學(xué)習(xí)一個(gè)樂器(取決于你的個(gè)性),你可以從逐漸掌握Vim的過程中得到快樂。希望這些建議對你的學(xué)習(xí)有所幫助!
-
IDE
+關(guān)注
關(guān)注
0文章
338瀏覽量
46737 -
Unix系統(tǒng)
+關(guān)注
關(guān)注
0文章
15瀏覽量
9642 -
VIM
+關(guān)注
關(guān)注
0文章
134瀏覽量
15293 -
文本編輯器
+關(guān)注
關(guān)注
0文章
28瀏覽量
8106
原文標(biāo)題:學(xué)習(xí)Vim的四周計(jì)劃
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論