vim是不少程序員和系統管理員最愛的文本編輯器,雖然他提供了不少優秀而靈活的功能,可是對於新手來講他依然是難於上手的。從傳統集成開發環境轉到vim的開發人員一般會開在發方式的轉變中發現迷失了本身。python
我常常收到來自於讀者的郵件,他們但願能找到一種方式使得vim變得對開發者更友好。一個常見的抱怨是vim並非自身就帶有IDE的特性,而且如何來經過配置能獲得等價IDE功能也不是很清晰。而揭開vim真正神奇的祕密就是利用強大的vim插件系統和對vim自身功能的改善和加強的第三方腳本。在閱你讀本文以前,我已經整理好了一個vim的有用tips和插件列表,這些列表中的內容將會使那些用慣IDE功能的人們在vim上感到賓至如歸的感受。linux
雖然vim主要是設計給基於字符方式的文本編輯器,而且它有多是這類編輯器中最高效的工具,可是如今在vim上也存在一些更適合新手使用的基於圖形的外殼。不像運行在終端窗口上的vim,你能夠嘗試使用一下gvim,一個基於GUI的vim版本。gvim擁有可配置的的菜單和工具條,所以能夠經過鼠標直接訪問到vim的編程上的最本質的特性。gvim可讓你使用操做系統自帶的文件對話框,並容許你經過鼠標點擊拖拉編輯面板的能力。gvim有windows和linux的版本,等價的Mac OS X的版本是MacVim,MacVim提供了Mac機的本地Cocoa用戶接口,包括菜單集成的功能。程序員
我聽到來自vim用戶最常常被抱怨的功能是vim的編輯區列表很是麻煩,而且沒有一種簡單的方式能夠明瞭的看到什麼文件是打開的。在vim上有幾個插件能夠解決這個問題,並提供了一個額外的編輯區列表用於方便在打開文件中切換。我最喜歡的一個插件是MiniBufExplorer,它將列表顯示在窗口的頭上。當MiniBufExplorer被激活時,你能夠經過tab鍵來在列表的這些項中循環,而後經過回車鍵或雙擊鼠標來選擇在編輯區顯示和你要處理的文件。編程
許多的IDE工具都有用於顯示你程序項目結構和容許你經過鼠標在特定的類和方法間跳轉的代碼導航區。你能夠經過使用流行的Tag List 插件來獲得這個特性。這個插件須要Exuberant Ctags實用工具,這個工具用於分析你的代碼。TagList能夠經過命令:Tlist來激活,並將你的類和方法顯示在激活的區域,當你打開其餘的文件或切換到其餘打開文件時,新的類或方法會被加到代碼導航區。在gvim中你能夠經過單擊方法名跳到對應方法定義。若是要使用鍵盤,那麼經過光標鍵上下移光標到你但願的方法處,單擊回車便可達到目標。vim
自動文本完成(譯者注:就是eclipse,visual studio中常見的輸入前幾個字符後面的內容經過列表顯示的功能)是另一種在IDE工具中經常使用特性,而且不少用戶都但願在vim中有這些特性。這個特性已經在vim7中經過Omnicompletion system被引入進來。它是可編程,這就意味着你能夠經過定製,使的這個功能能在各類個樣的編程語言中使用,在vim中甚至存在對動態語言python或ruby生效的自動文本完成功能。如今,自動文本完成的配置已經變成了vim包中的一個部分,因此如今你能夠什麼都不作就能讓這個功能生效。要調出自動完成菜單(列表),你須要敲下ctrl+x和ctrl+o鍵,接着你能夠用ctrl+n和ctrl+p在可能完成列表中進行上下選擇,當你移動到一個選項,vim將爲你在另一個Scratch區域顯示帶方法說明和屬性的上下文幫助信息。windows
你能夠多種方式來改善你的vim體驗,vim維基vim wiki和腳本庫script repository爲你提供了可用於加強功能的第三方加強擴展集合。這些插件實現sinppet system,outlining tools,項目管理工具,和大量的其餘的特性。同時還有大量的腳本實現了對某些特定編程語言和框架的加強。例若有一個很是流行的腳本,這個腳本將會改善你Ruby的語法高亮,而且爲你Ruby on Rail的部署提供了很是方便的導航特性ruby
同時也有一些面向新手的腳本集合,這個集合使得vim的行爲變得更像一個帶有簡單菜單和快捷鍵的傳統的文本編輯器。若是你對vim那些神祕鍵盤命名感到不舒服的話,你能夠選擇這個做爲你使用vim的開始。框架
vim的多樣性使得它知足不一樣的用戶使用。對於那些沒有時間,能力,和愛好去經過本身去創建一個完美vim配置的人來講,無數的第三方腳本和插件爲你提供了一種簡單的方式,經過這種方式你能夠付出不多的努力就能獲得你想要的功能和特性。eclipse
本文來自:酷 殼 – CoolShell.cn編程語言
連接:http://t.cn/zjr1m1z