引用请注明出处:http://blog.csdn.net/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的智能补全截图: