2014-01-31 126 views
7

我知道這聽起來很愚蠢,但我已經在Vim編輯器上編寫了一個C++代碼,並且對於我來說,無法弄清楚如何編譯和運行它。我知道這非常簡單 - 我已經清醒了很久: - /感謝您的幫助!用Vim編譯和運行C++程序

+1

嗯... Vim是一個文本編輯器。你必須使用_compiler_來編譯你的程序;-)。 – rodrigo

+2

看一看http://stackoverflow.com/questions/2627886/how-do-i-run-ac-program-from-vim –

+0

你可以看到這個[問題] [1],但使用IDE會更好認爲。 [1]:http://stackoverflow.com/questions/2627886/how-do-i-run-ac-program-from-vim – serkos

回答

-2

只需輸入到vim

:wq 

然後,在命令行上,調用編譯這是不vimg++clang++或類似:

g++ -o myCode myCode.cpp 

編輯:你所有的選民都請閱讀本人Bram Moolenaar撰寫的vim用戶手冊的第21部分:「走開並回來」。 :help user-manual會讓你在那裏。他基本上說,在vim中編譯或保存並退出,編譯,然後再回來很酷。通過本節的標題,我假定布拉姆更喜歡後者。他肯定已經制作了vim以最優秀的方式處理後者。當我「回到」任何文件時:光標位於同一行和列處,我可以像以前一樣撤消和重做,並且所有的歷史記錄,搜索,註冊,以及所有內容都與我離開它完全一樣。我離開的時候基本上看不出什麼區別!

重新編輯:讓所有你再次選擇下來的選民 - 窺視許多不同的方式使用vim有很多不同的原因。我一直在炮彈級別做這麼多事情,以至於不斷地在vim中是痛苦的白癡。你當選的人顯然是在完全不同的情況下工作,在這種情況下,你很高興待在編輯之內。請停止以與你一樣的方式工作。

+1

+1 ...感謝提醒回來..我完全忘了我們經常在大學實驗期間使用這個功能..;) –

+6

這不是非常vim。每次你想編譯時關閉並重新打開vim是非常低效的。你最好使用像':make'這樣的內置命令(參見我的答案)。 – Jon

+0

@Jon我一直在使用'vim'(因爲它是'vi'!)*非常*有效地爲藍籌公司開發代碼幾十年(!),這就是我如何滾動......我認爲'bash '運行'make'的* * *很有用的工具,或者在編輯文件後我想要使用的任何工具。 –

5

這取決於您如何構建軟件。如果您使用make,則可以在vim提示符中輸入:make。請輸入:h make以查看可讓您循環查看代碼中的錯誤的選項和支持命令。

+1

文本編輯器應該用於操縱文本,Unix哲學 – Blaze349

22

:make的確是要走的路Jonsaid

在類似於Linux的系統上(它也適用於cygwin,但不適用於Windows系統)系統,其中安裝了gnumake,如果項目中沒有Makefile,並且項目僅由一個文件組成,只需輸入:make。這將是足夠的(你可以玩$CXXFLAGS$CFLAGS$LDFLAGS調整編譯選項)。然後運行程序,鍵入:!./%<(IIRC)。

如果你的項目是由幾個文件,那麼你就需要一個Makefile採取:make優勢。

如果用CMake的管理您的項目,如果你編譯項目目錄(或幾個 - >調試,釋放,......)的源樹之外,那麼整合將需要一個插件。據我所知,我提出這樣一個插件只有一個:BuildToolsWrapper集成的CMake的管理(build目錄的選擇,可能性調試之間進行選擇,或釋放,或任何build目錄)。它必須加上一個local_vimrc插件。

在所有情況下,直接從Vim內部(或外部)調用編譯器:!g++ -o %< %或任何我們在15年前用vi做的任何事情。 Vim有一個很棒的功能:它可以集成(如同在IDE中)編譯器。見:h quickfix。直接從編輯器中導出錯誤要比用我們的眼睛提取一個錯誤行要容易得多,在編輯器中輸入行號,返回到shell以查看究竟是什麼被拒絕...... C中可能已經足夠了,但在C++中,當我們「試圖調用一個不存在的重載」時,我們不能這樣工作(在編輯器和shell之間來回切換)。

+1

這應該是被接受的答案。 – Secko