我vim的路径设置如下所示。
path=.,/usr/include,,
我想这应该是“路径”默认设置吧。
因此,g f 将打开光标下的 C 头文件。
但在 C++ 文件中,C++ 头文件不会被打开,因为 C++ 头文件的路径没有添加到 vim 的 path
变量中。
set path+=/usr/include/c++/4.6
我认为在 vimrc
文件中进行以下设置可能是一种解决方法。但问题是,在每个不同的 Linux 发行版和 g++ 编译器版本中,C++ 头文件实际目录位置都会发生变化。
有什么方法可以以一种可移植的方式设置 C++ 头文件路径吗?
let g:gcpp_headers_path = system("g++ --version | grep g++ | awk '{print \"/usr/include/c++/\"$NF}'")
execute 'set path+=' . g:gcpp_headers_path
现在我正在使用上述内容:
这适用于g++环境。未经其他编译器测试。
cpp -v
的结果中 grep 出搜索路径:awk '/^#include </ { state=1 } /End of search list/ { state=0 } /^ / && state { print substr($0, 2) }'
。 - hochl