2010-03-25 30 views
2

問題是我需要將包含路徑傳遞給C++編譯器。 我可以定義他們爲每個緩衝區,如:將Vim緩衝區變量作爲外部命令的參數傳遞

:let b:COMPILER_OPTIONS='-ggdb -I"E:\boost_1_42_0\boost\"' 

但是我怎麼擴大B:在命令行上COMPILER_OPTIONS?

:!g++ program.cpp eval('b:COMPILER_OPTIONS') 

不起作用。或者,如果這是不可能的,還有什麼其他方式可以做到這一點?

+0

你想要當前文件的路徑嗎?如果是的話,我相信它就是'%' – hasen 2010-03-26 02:40:39

回答

3

我不認爲你可以直接這樣做,但你可以定義自定義命令:

:command! -nargs=1 Gpp exe '!g++' b:COMPILER_OPTIONS '<args>' 

,如果你想完成的文件名,你可以添加-complete選項:

:command! -nargs=1 -complete=file Gpp exe '!g++' b:COMPILER_OPTIONS '<args>' 

使用:

:Gpp program.cpp 
+0

直接就是':exe'!g ++'b:COMPILER_OPTIONS'program.cpp'' – rampion 2010-03-26 18:24:14

+0

就像一個魅力。謝謝! – Saddoveanu 2010-03-26 23:25:35

相關問題