2012-03-31 73 views
11

我正在尋找關於使用VIM作爲IDE的建議。我通常使用許多編程語言編寫代碼,包括C,C++,彙編器,MATLAB,Maple,BASH腳本等等。VIM作爲IDE - 建議

一般來說,爲了保持一致性,我喜歡爲我的大部分項目使用單個IDE,而且我發現我在VIM中執行了大約90%的所有編碼,並且偶爾使用Eclipse來確保使用C/C++的項目(即:已經將項目人員組合爲Eclipse項目,或者從www.microchip.com獲得PIC24/32項目)。

我已經非常熟悉VIM的基本功能(Windows vs緩衝區,文本操作,腳本),並且希望將它用作我的主要IDE。我已經採取了一些技巧從這裏: http://vim.wikia.com/wiki/Use_Vim_like_an_IDE#Writing_Code

我已經使用了目錄瀏覽nerdTree插件中的一個項目,等等,但我需要做一些代碼完成和符號解析,因爲這些是我的兩個最大的關注。

  1. 符號解析
    • 我在使用C-標籤的一些有限的經驗,並希望什麼,如果我有一個非常大的代碼庫勤換工作,我應該使用的建議。我工作的項目通常是從至少十幾個其他項目中提取頭文件,我希望能夠跳轉到快速定義函數,常量或宏的文件(即:像CTRL-G功能在Eclipse中「跳轉到定義」),以及快速獲得所有調用/函數/宏/常量/等的引用列表(即:像Eclipse中的CTRL-SHIFT-G功能,「顯示所有引用在項目或當前工作目錄中「)。
  2. Tab補
    • 一個我真的在Visual Studio和Eclipse喜歡的功能,例如,當我在一個變量名稱類型(即:指向struct),並將其解析名稱和類型的所有結構成員,並給我一個選項卡完成列表來選擇適當的成員。他們還指出,當我錯誤地使用「。」 vs「 - >」用於成員訪問。我已經嘗試過VIM中的superTab,但我無法完成它的工作。我也想通過符號解析插件所產生的標籤完成功能使用相同的C-標籤
  3. 處理生成輸出
    • 我的最終關注的是其構建警告的自動生成列表並構建錯誤。例如,當我在命令行提示符處運行「make all」時,必須閱讀代碼清單以手動查找所有構建警告是一件很痛苦的事情。

我意識到這是一個好多問,那我可能永遠只是回退到Visual Studio或者Eclipse,但我真的想只是一個簡單的跨平臺的控制檯功能的模式爲所有的編輯器我的開發需求,並沒有主要的IDE滿足這種需求。

謝謝大家提前。

+0

可能重複[我怎樣才能讓VIM一個完全成熟的IDE(http://stackoverflow.com/questions/7206469/how-can-i-make-vim-一個完整的ide) – 2012-03-31 20:07:58

回答

7

認爲(但還沒有檢查),其Eclim滿足#1和# 2,而我確定Syntastic滿足#3。感興趣的更多的東西:

而且你知道omnicompletion的通過按Ctrl插入模式下的-p和Ctrl-n(上一個和下一個)?這不是代碼完成,但經常完成這項工作。

+0

+1:我使用eclim,這對我來說真的是**改變生活。它絕對滿足#1和#2。它也支持重構。 (我現在只使用eclim for Java,對於C/C++我使用ctags + Indexer http://goo.gl/gkFPp,但eclim也可以與其他語言一起工作,但我還沒有測試它。) – 2012-04-02 09:40:06

3

對於自動完成部分(點2),我很熟練地使用了clang_complete。

爲了快速設置和參考,試試這個頁面:http://zwiener.org/vimautocomplete.html

編輯:這是C,C++和唯一的Objective-C。

2

我使用vim的配置如下:

zipped file

它基於標籤列表,CTAGS,書呆子評議和一些插件的自動完成。

希望它能幫助.. :)

+0

Your鏈接已死亡。 – Bobby 2012-04-05 20:48:25

+1

對不起,它適合我。我也在不同的瀏覽器上嘗試過。無論如何,試試這個:[j.mp鏈接](http://j.mp/rajat_vim)或[this](https://www.evernote.com/shard/s134/sh/ffc9b220-54bc-42a0-8652 -a18b249a28aa/c706d140f6f00868ed1b5621028a308e) – prongs 2012-04-08 19:04:56

+1

您的最後一個鏈接有效,謝謝。另外,請停止使用URL-Shorteners [我們遇到困難](http://meta.stackexchange.com/questions/99136/let-me-flag-that-for-you-url-shortener-cleanup) [擺脫他們](http://meta.stackexchange.com/questions/64450/ban-url-shorting-services)。 – Bobby 2012-04-10 06:31:10

0

我一直使用議會作爲一個IDE大約有一年了。我所有的定製都是online at github

這就是說,我不認爲一個Vim初學者應該像這樣開始使用vim;相反,我認爲Vim初學者應該逐步學習vim。我認爲是如此重要我會讓他們從一開始的唯一變化是:

  1. 重映射ESC鍵JK
  2. 開關:和;
  3. 集合領導鍵,
+0

公平不夠,但我確實注意到我已經在我的項目中使用了它90%,所以我不會被列爲初級排名。 – DevNull 2013-12-23 17:18:03

+0

@Dogbert對不起,我沒有仔細閱讀這個問題! – jdg 2013-12-28 21:22:55

+0

沒有汗水。乾杯! – DevNull 2013-12-30 05:06:06