如何將Vim打造成一個(gè)成熟的IDE
如果你稍微寫過一點(diǎn)代碼,就能知道“集成開發(fā)環(huán)境”(IDE)是多么的便利。不管是Java、C還是Python,當(dāng)IDE會(huì)幫你檢查語法、后臺(tái)編譯,或者自動(dòng)導(dǎo)入你需要的庫時(shí),寫代碼就變得容易許多。另外,如果你工作在Linux上,你也會(huì)知道Vim在進(jìn)行文本編輯的時(shí)候是多么的方便。所以,你可能會(huì)想從Vim中也獲取這些IDE特性。
事實(shí)上,很少有方法可以幫你做到。有些人可能會(huì)想到試著把Vim打造成C語言IDE的,比如c.vim;也有把Vim集成到Eclipse里的 Eclim 。但是我想要告訴你的是一個(gè)更加通用的,只用插件實(shí)現(xiàn)的方案。你肯定不想因?yàn)榘惭b了太多的面板和特性而讓你的編輯器變得臃腫不堪。只用插件實(shí)現(xiàn)的方案可以讓你只選擇那些你想要集成到Vim的特性。這樣做的額外的一個(gè)好處是,這個(gè)IDE不是專門針對(duì)某一種語言的,可以讓你寫任何類型的代碼。下面就來看一下我的 把IDE特性帶進(jìn)Vim的前10款插件 吧。
先來個(gè)福利: Pathogen
首先,可能不是所有人都熟悉Vim的插件,并知道該怎么安裝這些插件。所以,我推薦的***個(gè)插件就是Pathogen,因?yàn)檫@個(gè)插件會(huì)讓你更容易安裝其他插件。如果你要安裝另外的沒有在這里列出來的插件,用Pathogen會(huì)變得非常簡單。它的官方頁面的文檔寫的非常好,去下載安裝一個(gè)吧。接下來插件的安裝也會(huì)變得容易很多。
1. SuperTab
我們習(xí)慣于IDE的***個(gè)原因就是它的自動(dòng)補(bǔ)全功能。所以,我喜歡這個(gè)非常方便的,給了Tab鍵“超能力”的 SuperTab 插件。
2. Syntastic
如果你需要使用一種以上的語言進(jìn)行編程,有時(shí)候是非常容易混淆不同語言之間的語法的。幸運(yùn)的是,syntastic 會(huì)幫你檢查,然后告訴你是否應(yīng)該加上圓括號(hào)或者方括號(hào),或者告訴你在某個(gè)地方,你忘了一個(gè)分號(hào)。
3. Auto Pairs
另外一件讓程序員們抓狂的事是:我是不是少加了***一個(gè)括號(hào)?!每個(gè)人都討厭用手指去數(shù)那些隔的非常遠(yuǎn)的括號(hào)。為了處理這個(gè)問題,我用 Auto Pairs 插件,這個(gè)插件會(huì)自動(dòng)插入和格式化方括號(hào)和圓括號(hào)。
4. NERD Commenter
如果你在找一個(gè)可以支持多種程序語言的注釋代碼的快捷鍵,你可以試試 NERD Commenter。即使你不是程序員,我也非常非常推薦這款插件,因?yàn)樗鼤?huì)讓你在注釋bash腳本或者其他任何東西的時(shí)候都會(huì)變得非常高效。
5. Snipmate
任何一個(gè)程序員都知道,好的碼農(nóng)寫代碼,杰出的碼神重用代碼。snipmate可以容易的插入代碼片段到你的文件里面,大大的減少了你敲鍵盤的次數(shù)。它默認(rèn)的包含了很多各種語言的代碼片段,你也可以非常容易的添加你自己的。
6. NERDTree
管理一個(gè)大的項(xiàng)目時(shí),把代碼分散到不同的文件里面是非常好的主意。也是一個(gè)基本的編碼原則。NERDTree 是一個(gè)不錯(cuò)的可以直接在Vim里使用的文件瀏覽器,它可以讓你隨時(shí)想到所有的文件。
#p#
7. MiniBufferExplorer
為了打造一個(gè)文件瀏覽器,支持同時(shí)打開多個(gè)文件,沒有什么比一個(gè)好的緩沖區(qū)管理器更重要了。MiniBufferExplorer 就可以非常漂亮和高效地完成這個(gè)工作。它甚至為你的緩沖區(qū)設(shè)置了不同的顏色和切換快捷鍵。
8. Tag List
當(dāng)你同時(shí)有多個(gè)文件打開時(shí),很容易忘了你都在這些文件里添加了什么。為了防止你忘記,Tag List 這個(gè)代碼查看器將會(huì)用一種漂亮簡潔的格式展示其中的的變量和函數(shù)。
9. undotree
對(duì)于我們之中那些喜歡undo,redo然后又undo某些更改,然后依據(jù)這些來查看整個(gè)編輯完成過程的人來說, undotree 是一個(gè)不錯(cuò)插件,可以以一棵樹的形式看到你的undo和redo歷史。這個(gè)功能跟代碼完全沒有關(guān)系,所以這是我非常喜歡的一個(gè)插件。
10. gdbmgr
***,但并非不重要,每個(gè)人都在某個(gè)時(shí)刻需要一個(gè)調(diào)試器。如果你喜歡gdb,那么gbdmgr就是為你準(zhǔn)備的,因?yàn)樗闪四莻€(gè)著名的調(diào)試器到Vim中。
總結(jié)一下,不管你是不是一個(gè)瘋狂的coder,能有一些額外的Vim功能在手總是非常方便的。像我在簡介里說到的,如果你不需要,你不用安裝這里所有的這些插件。或者你想要安裝另外的也行,這些其實(shí)只是一個(gè)基礎(chǔ)入門級(jí)的插件。
你在用Vim的什么插件?或者你想完善這個(gè)前10列表么?請?jiān)谠u(píng)論里告訴我們吧。
via: http://xmodulo.com/2014/06/turn-vim-full-fledged-ide.html
譯者:love_daisy_love 校對(duì):wxy