2013-04-10 414 views
8

我的vim的路徑設置如下所示。vim的路徑設置包括vim的頭文件

path=.,/usr/include,, 

我認爲這是'path'的默認設置,我想。

因此,gf打開光標下的c頭文件。

但是在C++文件中C++頭文件並未打開,因爲C++頭文件位置未添加到path vim變量中。

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

我認爲這個設置在vimrc將是一個解決方案。 但問題是C++頭文件的實際目錄位置會在每個不同的Linux發行版和g ++編譯器版本中更改。

如何以便攜方式設置C++頭文件的路徑?

+0

@zachlatta,感謝您對我的問題漂亮的編輯! – Jeonghum 2013-04-10 10:51:13

回答

7

如果有位置數量有限,一個簡單的條件在~/.vimrc會做:

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 2013-04-10 08:12:29

+0

這次使用expand()對我來說幫助很大。謝謝! – Jeonghum 2013-04-10 11:26:09

+0

看起來像是一個安全風險? – 2018-01-29 05:06:00

-1

編譯器有特定的環境變量需要檢查。如果您在linux/Unix環境中使用gcc/g ++,則變量爲C_INCLUDE_PATHCPLUS_INCLUDE_PATH。如果你使用的是bash/sh,那麼使用export VARIABLE=value或者如果你使用的是csh/tcsh,那麼使用setenv VARIABLE value或者如果你使用了其他一些shell,那麼你需要查看它。在這些示例中,VARIABLEC_INCLUDE_PATHCPLUS_INCLUDE_PATH。我希望這有幫助。

+0

非常感謝你,但是我需要知道的不是關於'compiler',而是關於編輯器'vim'。 – Jeonghum 2013-04-10 04:07:32