开发者

Pass Vim buffer variable as an argument for external command

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_OPTI开发者_运维百科ONS='-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 ?


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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜