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


已经很久没有写博客了,但新年新气象,况且我又有新的打算,所以,学习是在所难免的

环境:
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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值