引用请注明出处:http://blog.youkuaiyun.com/int64ago/article/details/7246826
First of all,you need to make sure that you had omni installed.
1) Download SGI'sSTL;
2) With vim replace all __STL_BEGIN_NAMESPACE by "namespace std {" and
__STL_END_NAMESPACE by "}" (I use a macro to do this but maybe there
is a better way eg: the command :bufdo) from header and source files.;
3) Run ctags and put the generated tags file in a directory eg:~/MyTags;
4) set tags+=~/MyTags/stltags 。
We can do step 2) and 3) use the following sh:
#!/bin/bash
mkdir stl2
mkdir stl3
cd stl
for i in *
do
sed 's/__STL_BEGIN_NAMESPACE/namespace std{/' $i > ../stl2/$i
done
cd ../stl2
for i in *
do
sed 's/__STL_END_NAMESPACE/}/' $i > ../stl3/$i
done
cd ../stl3
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ../stltags
cd ..
rm -rf stl2
rm -rf stl3
Make sure that the stl is the same directory with sh.
结构体、STL的智能补全截图:


本文介绍如何为SGI的STL库进行智能补全配置。首先确保已安装omni,接着通过替换命名空间的方式修改STL源文件,并使用ctags生成tags文件,最后设置Vim以支持智能补全。
5810

被折叠的 条评论
为什么被折叠?



