开发者

Pass Vim buffer variable as an argument for external command

开发者 https://www.devze.com 2022-12-24 07:19 出处:网络
The problem is that I need to pass include paths to the C++ compiler. I can define them for each buffer, like:

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

精彩评论

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