vim 代碼提示功能,讓vim可以媲美IDE)

來源:互聯網
上載者:User

vim是一款支援外掛程式、功能無比強大的編輯器,無論你的系統是linux、unix、mac還是windows,都能夠選擇他來編輯檔案或是進行工程層級 的coding。如果能把vim用好了,不僅編程效率能得到大幅度提高,周圍人也會因此而看得頭暈眼花佩服不已,自己心裡當然也會心花怒放啦。下面就讓我 來介紹一下如何來進行配置。這些配置所涉及到的內容有:autocomplpop, ctags, TagList,omnicppcomplete

首 先Vim是內建代碼補全功能的,在不需要通過任何設定的情況下就能使用。在您編輯代碼的時候,鍵入 ctrl+x, ctrl+o, ctrl+n, ctrl+p 等快速鍵,就會彈出智能提示的菜單。但是這仍然不滿足大家的要求。大多數IDE中,只要代碼輸入到相應的位置,補全提示就會自動的彈出來,而vim的這種 補全還需要自己手動的來觸發。那麼下面就介紹一種可以自動彈出補全提示的外掛程式 — autocomplpop

== Autocomplpop ==

首先,從http://www.vim.org/scripts/script.php?script_id=1879處 下載autocomplpop.vim檔案(我們所說的vim外掛程式就是這樣的*.vim格式的檔案),然後將其放入vim檔案目錄下的plugin目錄中 (unix/linux平台在/usr/share/vim/vim71中, windows平台在安裝目錄的vim71目錄中),然後重啟一下vim就會發現在編碼時會自動彈出提示了。

細心的朋友會發現,光是利用 autocomplpop這個外掛程式還遠遠達不到要求。比如說:在c++中使用.或是->訪問對象或指標中的成員和函數時還無法自動彈出提示,另外, 即便是自動提示也只能提示我們在當前文檔中已輸入的字串。針對這種情況,我們就需要安裝ctags工具和OmniCppComplete外掛程式。 ctags是用來對檔案做標記的工具,OmniCppComplete是在c和c++語言範疇內,對上述智能補全的增強版。

== ctags ==

ctags在http://ctags.sourceforge.net/下載源碼,編譯後安裝。常規的標記命令為 ctags -R 。"-R"表示遞迴建立,也就包括原始碼根目錄下的所有子目錄下的來源程式。

== CppCompleete ==

OmniCppComplete在http://www.vim.org/scripts/script.php?script_id=1520下載。下載 好之後根據裡面的doc文檔進行安裝和使用。

這樣一來,代碼補全就比較完善了。但是根據以往的經驗,IDE中還有一個功能,那就是函數和變數的跳轉查看。比如代碼中出現
代碼:
if(true){
doThis();
}

我們想知道doThis()函數是如何定義和實現的,那麼如何快速的來查看呢?我們就需要安裝Taglist外掛程式

== Taglist ==

外掛程式在http://vim.sourceforge.net/scripts/script.php?script_id=273下載。下載好之後,我們可以根據其中的doc文檔進行安裝和配置。

我們發現其實Taglist的使用也必須要依靠ctags所建立出來的tag檔案。當tag檔案形成、一切配置都配置完成之後。我們可以ctrl+]來進行函數或者是變數跳轉。好了,從此你就可以開始像IDE一樣來使用vim進行編碼了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.