一、安裝ctags:從官網下載 Ctags 可執行文件,網站是
http://ctags.sourceforge.net/,安裝命令是linux中常見的./configure;make;make install
二、準備索引:從網上下載專為 Ctags 修改過的
libstdc++ 頭文件或
cpp_src.rar(這個文件下載后,擴展名改為tar.gz2),解壓縮(tar -xjf);
切換到解壓縮后的路徑,執行ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f cpp .,產生索引文件 cpp
三、下載
OmniCppComplete,修改vim的配置文件vimrc ,在文件末尾加入
" ctags 索引文件 (根據已經生成的索引文件添加即可, 這里額外添加了 hge 和 curl 的索引文件)
set tags+=/ctags/tags/cpp-------這里是cpp文件絕對路徑
set tags+=/ctags/tags/hge-------hge絕對路徑(這個索引文件用戶可以自己生成,也是用上面的命令)
set tags+=/ctags/tags/curl-------curl絕對路徑
" OmniCppComplete
let OmniCpp_NamespaceSearch = 1
let OmniCpp_GlobalScopeSearch = 1
let OmniCpp_ShowAccess = 1
let OmniCpp_ShowPrototypeInAbbr = 1 " 顯示函數參數列表
let OmniCpp_MayCompleteDot = 1 " 輸入 . 后自動補全
let OmniCpp_MayCompleteArrow = 1 " 輸入 -> 后自動補全
let OmniCpp_MayCompleteScope = 1 " 輸入 :: 后自動補全
let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
" 自動關閉補全窗口
au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
set completeopt=menuone,menu,longest
OmniComplete解壓縮后,
將autoload和doc下的文件拷貝到vim的/usr/share/vim/vim72/atuoload路徑下;將after文件夾拷貝到/usr/share/vim/vimfiles/下;需確認在 vimrc 中開啟了 filetype 選項,不然 OmniComplete 無法自動識別 C/C++ 文件類型進行補全。
這樣,在插入模式編輯 C/C++ 源文件時按下 . 或 -> 或 ::,或者手動按下 Ctrl+X Ctrl+O 后就會彈出自動補全窗口,此時可以用 Ctrl+N 和 Ctrl+P 上下移動光標進行選擇。
變自動補全窗口的配色可以在 vimrc 中加上:
highlight Pmenu guibg=darkgrey guifg=black
highlight PmenuSel guibg=lightgrey guifg=black
Pmenu
是所有項的配色,PmenuSel
是選中項的配色,guibg
和 guifg
分別對應背景色和前景色。
注意:一定要注意拷貝文件的路徑