2013-04-10 11 views
8

Moje vim ma ustawienia ścieżki, jak pokazano poniżej.ustawienia ścieżki dla C++ obejmują nagłówki dla vim

path=.,/usr/include,, 

Myślę, że domyślne ustawienie "ścieżki" chyba.

Dlatego gF otwiera pliki C nagłówka pod kursora.

Ale w pliku C++ pliki nagłówkowe C++ nie są otwierane, ponieważ lokalizacja pliku nagłówkowego C++ nie została dodana do zmiennej path zmiennej vim.

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

Myślę, że to ustawienie na vimrc byłoby rozwiązaniem. Ale problem polega na tym, że rzeczywiste położenie katalogu dla pliku nagłówkowego C++ zostanie zmienione w każdej innej dystrybucji Linuksa i wersjach kompilatora g ++.

Jak ustawić ścieżkę dla plików nagłówkowych C++ w sposób przenośny?

+0

@zachlatta, Dziękujemy za edycji moje pytanie ładniejsze! – Jeonghum

Odpowiedz

7

Jeśli istnieje ograniczona liczba miejsc, proste warunkowego ~/.vimrc zrobi:

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

Jeśli masz wiele różnych systemów, a nie chcesz, aby utrzymać wszystkie odmiany w centralnym miejscu, można przenieść ustawienia systemowe zależne do osobnego, tylko lokalnym pliku i wywołać które z ~/.vimrc coś takiego:

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

Dziękuję bardzo! Myślę, że to byłoby dobre rozwiązanie. Dziękuję Ci. – Jeonghum

+0

Użycie expand() pomogło mi tym razem. Dziękuję Ci! – Jeonghum

+0

wydaje się być zagrożeniem bezpieczeństwa? –

-1

Istnieją określone zmienne środowiskowe do sprawdzenia przez kompilator. Jeśli używasz gcc/g ++ w środowisku Linux/Unix, zmiennymi są C_INCLUDE_PATH i CPLUS_INCLUDE_PATH. Jeśli używasz bash/sh, użyj export VARIABLE=value lub jeśli używasz csh/tcsh, następnie użyj setenv VARIABLE value lub jeśli używasz innej powłoki, musisz to sprawdzić. W tych przykładach VARIABLE jest albo C_INCLUDE_PATH i CPLUS_INCLUDE_PATH. Mam nadzieję, że to pomoże.

+0

Dziękuję bardzo, ale to, co muszę wiedzieć, nie jest o "kompilatorze", ale o edytorze 'vim'. – Jeonghum