最近寫了不少 c/c++ code, 如果有 vs ide like 的 auto complete 的話, 可以少很多工.
vim 下老牌的 auto complete 大概是 omni cpp complete 了吧, 不過唯一的缺點我覺得是, 要搭配 ctags 服用.
前兩天在 twitter 上看人講到 clang_complete 這套, 試用之後果然考試都考一百分了, 感覺十分爽快.
在 FreeBSD 下面要安裝很簡單, 首先你需要 vim with python support.
1: 到 /usr/ports/editors/vim-lite 下面重新安裝 vim,
make WITH_PYTHON=yes install
2: 將 clang_complete clone 下來.
git clone https://github.com/Rip-Rip/clang_complete.git
3: 確定有裝 clang; cd /usr/ports/lang/clang; make install
4: freebsd 9.0 之後, 系統預設就有 clang 了, 但是如果要更快點,
這是不夠的, 因為相關 library 都被 static link 進 clang binary 中,
最好是另外安裝 ports 裡面的版本.
5: 到 clone 下來的 clang_complete 下面, make install 就完成了.
會看到相關的 code 都被安裝到 ~/.vim 下面.
6: 會感覺到慢吧? 因為他預設某些選項是關掉的,
所以每次要 auto complete 的時候, 都會執行一下 clang,
重新讀入所有要 parse 的 header files, 速度自然快不起來.
7: 在 .vimrc 下面加行 'let g:clang_use_library=1' 吧.
這會改用 libclang 做 parse 的動作, 並且將結果 cache 在記憶體
裡面, 你在該次的 vim session 中, 都會使用到 cache 裡的資料.