您的位置:首页 > 编程语言 > C语言/C++

vim C\C++ 插件ctags+OmniCppComplete+taglist+WinManager+c.vim配置

2013-01-12 22:53 651 查看
已经很久没有写博客了,但新年新气象,况且我又有新的打算,所以,学习是在所难免的

环境:

Linux ubuntu 3.2.0-23-generic-pae

所有插件的下载地址
http://www.vim.org/scripts/
准备工作:

$ mkdir ~/.vim #用于存放所有的vim插件

$ mkdir ~/.vim/tags #用于存放ctags文件

$ cat ~/.vimrc #vim的配置文件

    ctags+OmniCppComplete

主要是用于C\C++代码提示,比如按下 点 ( . )或箭头 ( -> )就会出现相应的变量或函数名

1) 安装ctags:

ctags在Ubuntu里面我记得是默认安装好了的,如果没有的话apt-get也很方便

2) 建立ctags数据

本质上来说,ctags就是抓取所有.h头文件中的结构体,类名,函数的声明,并把这些存到一个文件中去

具体步骤为:

$ sudo ctags  -I __THROW  -I __THROWNL -I __attribute_pure__ -I __nonnull -I __attribute__ -R --c-kinds=+p --fields=+iaS --extra=+q --language-force=C  /usr/include/

记住一定要加绝对路径,网上的一些教程写的是相对路径,是对出错的

执行完命令后会生成一个tags文件,vi打开会看到全是各种声明

$ cp /usr/include/tags ~/.vim/tags

然后在.vimrc文件里添加

set tags+=~/.vim/tags/tags

以上完成后,你可以vi打开cpp文件,然后在有比如printf的地方, ctrl+] 可以跳转到相应的声明

注意,有可能tags文件的权限是root,需要把它改成user权限

3) 安装OmniCppComplete

去vim页面上下载,并且解压到~/.vim下

添加以下内容到.vimrc

" OmniCppComplete

let OmniCpp_NamespaceSearch = 1

let OmniCpp_GlobalScopeSearch = 1

let OmniCpp_ShowAccess = 1

let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters

let OmniCpp_MayCompleteDot = 1 " autocomplete after .

let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->

let OmniCpp_MayCompleteScope = 1 " autocomplete after ::

这时,比如输入gethost然后按ctrl+x ctrl+o这时就能提示gethostbyname等函数

参考资料:
http://www.libaqiang.com/?p=78163 http://www.cnblogs.com/zen_chou/archive/2009/12/18/1626975.html http://blog.csdn.net/tge7618291/article/details/4216977 http://lug.fh-swf.de/vim/vim-c/csupport.html#csupport-usage-vim
完整的.vimrc文件

set nocompatible

set nu

nmap <C-B> <LEFT>

nmap <C-F> <RIGHT>

nmap <C-P> <UP>

nmap <C-N> <DOWN>

nmap <C-A> <HOME>

nmap <C-E> <END>

imap <C-B> <LEFT>

imap <C-F> <RIGHT>

imap <C-P> <UP>

imap <C-N> <DOWN>

imap <C-A> <HOME>

imap <C-E> <END>

nmap <C-K> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .

set tabstop=2

set shiftwidth=2

:colorscheme ron

set cindent

filetype plugin on

set completeopt=menu

" configure tags - add additional tags here or comment out not-used ones

set tags+=~/.vim/tags/tags

set tags+=~/.vim/tags/linux_include

"set the auto complete menu color

highlight Pmenu ctermbg=13 guibg=LightGray

highlight PmenuSel  cterm=bold ctermfg=9 ctermbg=4

" OmniCppComplete

let OmniCpp_NamespaceSearch = 1

let OmniCpp_GlobalScopeSearch = 1

let OmniCpp_ShowAccess = 1

let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters

let OmniCpp_MayCompleteDot = 1 " autocomplete after .

let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->

let OmniCpp_MayCompleteScope = 1 " autocomplete after ::

let g:acp_enableAtStartup = 0 "disable it

let g:acp_behaviorKeywordCommand="\<C-x>\<C-o>"

let Tlist_Show_One_File=1

let Tlist_Auto_Open=1

let Tlist_Show_Menu=1

let Tlist_WinWidth=18

let Tlist_WinHeight=10

let Tlist_Close_On_Select=0

let Tlist_Sort_Type='name'

let Tlist_Use_Right_Window = 1

let g:winManagerWindowLayout='FileExplorer'

let g:persistentBehaviour=0 "leave vim if only one window

let g:winManagerWidth=20

":WMToggle to open the winmanager
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐