2

問題は、C++コンパイラにインクルードパスを渡す必要があることです。次のように、バッファごとに定義できます。

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

しかし、コマンドラインでb:COMPILER_OPTIONSを展開するにはどうすればよいですか?

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

動作しません。

または、これが不可能な場合、これを行うための他の方法はありますか?

4

1 に答える 1

4

直接実行できるとは思いませんが、カスタムコマンドを定義することはできます。

: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
于 2010-03-25T16:34:46.420 に答える