我想編譯沒有關閉vi的cpp文件。
我知道:G ++ file.cpp但我更喜歡:讓,所以我說在.vimrc文件
直接從vim編譯
AU文件類型賬套makeprg = gcc的\%
AU文件類型的cpp該線設置makeprg = G ++ \%
,但我不斷收到
「使:*****沒有指定目標,並沒有發現makefile文件停止**。」 消息。
任何人都可以告訴我我的設置有什麼問題嗎?
我用上面的選項成功編譯。
我想編譯沒有關閉vi的cpp文件。
我知道:G ++ file.cpp但我更喜歡:讓,所以我說在.vimrc文件
直接從vim編譯
AU文件類型賬套makeprg = gcc的\%
AU文件類型的cpp該線設置makeprg = G ++ \%
,但我不斷收到
「使:*****沒有指定目標,並沒有發現makefile文件停止**。」 消息。
任何人都可以告訴我我的設置有什麼問題嗎?
我用上面的選項成功編譯。
我應該改變C,Cpp分成c,cpp,那麼它工作正常。
謝謝大家,特別是Rob Wells,你的回答幫了我很多。謝謝。
我覺得如果你編寫一個Makefile並把它放在vi可以找到的地方就容易多了。我不確定你是否真的使用vi(我只使用過Vim),但是當有Makefile編譯時,應該像編寫:make(不需要set makeprg)一樣簡單。
謝謝你的回答。但是我使用編輯器來處理項目euler問題等非常小的項目。所以每次我寫代碼,都會讓Makefile變得很刺激。這就是爲什麼我試圖使用:make(直接編譯)。 – 2009-02-12 10:29:17
您需要替換在那裏,你可以試試:
set makeprg=gmake\ %:r.o
哦,這是假定你已經有了:
檢查f或默認輸入:
make -n <my_file>.o
看看是否給你一些合理的。
如果在其他位置生成文件,你可以添加-f選項在Makefile點,例如:
set makeprg=gmake\ -f\ ../some_other_dir/makefile\ %:r.o
BTW對於學習化妝,尤其是GMAKE,我建議有看看這本優秀的書「使用GNU Make管理項目」(sanitised Amazon link)。
HTH。
歡呼聲
首先,只是讓血腥的make文件。那裏的每一個工具都希望能夠使用make,如果你的編譯很簡單,那麼編寫一個將所有c和cpp文件編譯成可執行文件的make文件需要大約30秒的時間。
其次,如果你拒絕使用make文件,然後嘗試
:help system
這應該給你足夠的信息來拿出自己的命令與此類似
:com Mymake call system("g++ ".expand("%"))
我推薦了一個名爲SingleCompile,而不是你做了什麼VIM插件: http://www.vim.org/scripts/script.php?script_id=3115
它可以通過使用關鍵地圖可以輕鬆實現。
首先打開你的vimrc文件以及這些行的文件,
autocmd filetype cpp nnoremap <F4> :!g++ % -ggdb -o %:r <CR>
autocmd filetype cpp nnoremap<F5> :!g++ % -ggdb -o %:r && ./%:r <CR>
第一行映射的關鍵F4以編譯文件。第二行將鍵F5映射到編譯並運行。
如果您經常使用gdb,那麼這也可能會得心應手。
autocmd filetype cpp nnoremap<F10> :!g++ % -ggdb -o %:r && gdb -tui %:r <CR>
此行的關鍵F10映射到編譯並啓動gdb
希望這有助於。
在當前目錄中搜索名爲Makefile的文件。可能是這個問題?我自己是一個makefile-newbie,所以這只是一個猜測。 – Srikanth 2009-02-12 10:25:58
我不知道什麼「au FileType CPP set makeprg」 的內部動作,但我從另一個服務器編譯w/o Makefile。我不明白爲什麼我不能在我自己的電腦中編譯 我使用的是Ubuntu 8.10 – 2009-02-12 10:31:09
我從來沒有聽說過:關於vi的make。這是對vim的改進嗎? – mouviciel 2009-02-12 10:34:06