コンピュータや音楽の事書いてます

omnicppcomplete

C/C++ソースの編集時にVisual Studioみたいにコード補完してくれるvimプラグイン
boostやSTLもばっちり。

以下手順

1.ここからダウンロードしてくる
http://www.vim.org/scripts/script.php?script_id=1520
解凍したとき出来上がるディレクトリ群と同じ名前のディレクトリ群が存在するディレクトリを探し(/usr/share/vim/vim70など)、上書きコピーする。
afterというディレクトリは無いかもしれないので、その場合はafter内のftpluginディレクトリを1階層上にコピー(上書き)する 。
.vimrcに

filetype plugin on 
let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"] 
autocmd CursorMovedI * if pumvisible() == 0|pclose|endif 
autocmd InsertLeave * if pumvisible() == 0|pclose|endif 
imap <C-N> <C-X><C-O> 

を加える。
2行目はGCC(ヘッダファイルの中でnamespace std{をdefineしている)の場合。
imapは元々VIMにあるctrl+nを置き換えてある。
2.Exuberant ctagsもインストールする(Linuxのデフォルトのctagsは多分これ)
http://ctags.sourceforge.net

3.編集するソースがあるディレクトリで、
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q /usr/include .
でtagsファイルを作成すると準備完了
コマンドの最後のところにincludeパスを追加できる
親階層のディレクトリを入れたければ ../ ../../ などと書く
/usr/include を入れるとすごく重いので必要なければ除く。(標準ライブラリが補完されなくなる)

試した環境はCentOS(LINUX)/VIM7.0です。