views:

121

answers:

1

The problem is that I need to pass include paths to the C++ compiler. I can define them for each buffer, like:

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

But how do I expand b:COMPILER_OPTIONS on the command line ?

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

doesn't work.

Or, if this isn't possible, what other ways are there for doing this ?

+2  A: 

I don't think you can do it directly, but you can define a custom command:

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

if you want filename completion you can add the -complete option:

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

usage:

:Gpp program.cpp
kemp
directly would just be `:exe '!g++' b:COMPILER_OPTIONS 'program.cpp'`
rampion
works like a charm. Thanx !
Saddoveanu