2013-04-10 11 views
8

私のvimのパス設定は次のとおりです。vim用のC++インクルードヘッダーのパス設定

path=.,/usr/include,, 

これは「パス」のデフォルト設定だと思います。

gfは、カーソルの下にcヘッダファイルを開きます。

しかし、C++ヘッダーファイルの場所がvimの変数pathに追加されていないため、C++ヘッダーファイルは開かれません。

set path+=/usr/include/c++/4.6 

この設定をvimrcとすれば、解決策になると思います。 しかし、C++ヘッダーファイルの実際のディレクトリの場所は、すべての異なるLinuxディストリビューションとg ++コンパイラのバージョンで変更されるという問題があります。

C++ヘッダーファイルのパスを移植可能な方法で設定するにはどうすればよいですか?

+0

@zachlattaを、私の質問きれいの編集のためにありがとうございます! – Jeonghum

答えて

7

場所の限られた数がある場合、簡単な条件が行います。

if isdirectory('/usr/include/c++/4.6') 
    set path+=/usr/include/c++/4.6 
elseif isdirectory(... 

あなたは、異なるシステムの多くを持って、そして中央の場所にすべてのバリエーションを維持したくない場合は、あなたは別の、ローカルのみのファイルにシステム依存の設定を移動し、このように、あなたの~/.vimrcからそれを呼び出すことができます。

" Source system-specific .vimrc first. 
if filereadable(expand('~/local/.vimrc')) 
    source ~/local/.vimrc 
endif 
+0

ありがとうございます!私はこれが良い解決策だと思う。ありがとうございました。 – Jeonghum

+0

expand()の使い方は、今度は私を助けてくれました。ありがとうございました! – Jeonghum

+0

はセキュリティリスクのようですか? –

-1

コンパイラが調べる特定の環境変数があります。 linux/Unix環境でgcc/g ++を使用している場合、変数はC_INCLUDE_PATHCPLUS_INCLUDE_PATHです。 bash/shを使用している場合はexport VARIABLE=valueを使用するか、csh/tcshを使用している場合はsetenv VARIABLE valueを使用するか、他のシェルを使用している場合はそれを調べる必要があります。これらの例では、VARIABLEC_INCLUDE_PATHCPLUS_INCLUDE_PATHのいずれかです。私はこれが役立つことを願っています~/.vimrc

+0

ありがとうございます。私が知る必要があるのは、 'コンパイラ'についてではなく、エディタ 'vim'についてです。 – Jeonghum