Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6269619
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: LINUX

2013-09-26 10:07:17

原文地址:vim IDE 使用vundle 作者:anqiu1987

     这几天需要在linux上面编程,所以想组织一个vim IDE上网上搜索了一下,感觉一个新型的vundle插件工具可以管理vim的插件,所以果断用之。
地址 。在这里简要说明,需要用git:vundle的文件放到.vim文件夹下面,vim会主动的加载:
   

点击(此处)折叠或打开

  1. git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

 然后我们之需要把需要的插件配置到vimrc里面,vundle就会根据配置主动下载相应的插件,我们就不需要主动下载了,不过配置什么的还得我们自己配置。
简单的vundle的配置如下:
  

点击(此处)折叠或打开

  1. set nocompatible " be iMproved
  2.  filetype off "

  3.  set rtp+=~/.vim/bundle/vundle/
  4.  call vundle#rc()

  5.  " let Vundle manage Vundle
  6.  "
  7.  Bundle 'gmarik/vundle'

  8.  " My Bundles here:
  9.  "
  10.  " original repos on github
  11.  Bundle 'tpope/vim-fugitive'“这种格式是name/git repo
  12.  Bundle 'Lokaltog/vim-easymotion'
  13.  Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
  14.  Bundle 'tpope/vim-rails.git'
  15.  " vim-scripts repos
  16.  Bundle 'L9'
  17.  Bundle 'FuzzyFinder'
  18.  " non github repos
  19.  Bundle 'git://git.wincent.com/command-t.git'”这种时全路径格式
  20.  filetype plugin indent on "
假设我们需要安装taglist(负责展示文件中的类,函数等) winmanager(负责展示目录结构) omnicppcomplete supertab(负责智能提示)
我们之需要增加:

点击(此处)折叠或打开

  1. Bundle 'OmniCppComplete'
  2. Bundle 'winmanager'
  3. Bundle 'taglist.vim'
  4. Bundle 'SuperTab'
其中taglist 需要ctags这个负责生成tag信息,也就是文件的组织类的组织什么的信息。taglist负责展示。

点击(此处)折叠或打开

  1. sudo apt-get install ctags

假设你相装cscope你也可以通过apt-get的方式。
通过在vim里面通过:Bundle。。。+命令的方式来告诉vundle安装我们的配置例如安装的话,其中可能需要你的git帐号密码

点击(此处)折叠或打开

  1. :BundleInstall

之后我们之需要在vimrc中各个工具的要求的配置就好了。我们最好先阅读文档。在vim中通过在命令模式输入“:”+

点击(此处)折叠或打开

  1. :help taglist
其它的几个软件类似。你也可以通过这个察看vim的有些命令的意思。
一下附上我的vimrc的配置

点击(此处)折叠或打开

  1. set nocompatible
  2. " allow backspacing over everything in insert mode
  3. set history=50 " keep 50 lines of command line history
  4. syntax enable
  5. set incsearch " do incremental searching
  6. syntax on
  7. set hlsearch
  8. set autoindent " always set autoindenting on
  9. set number
  10. filetype off
  11. set rtp+=~/.vim/bundle/vundle/
  12. call vundle#rc()
  13. Bundle 'gmarik/vundle'
  14. //这是我的配置
  15. Bundle 'OmniCppComplete'
  16. Bundle 'winmanager'
  17. Bundle 'taglist.vim'
  18. Bundle 'SuperTab'
  19. //这个是一个文件浏览器,比自带的fileexplorer好多了,但是我没集成到winmanager里面,感觉单独用没什么问题
  20. Bundle 'scrooloose/nerdtree'

  21. //下面是照抄的
  22. Bundle 'tpope/vim-fugitive'
  23. Bundle 'Lokaltog/vim-easymotion'
  24. Bundle 'rstacruz/sparkup',{'rtp': 'vim/'}
  25. Bundle 'L9'
  26. Bundle 'FuzzyFinder'
  27. Bundle 'rails.vim'
  28. Bundle 'git://git.wincent.com/command-t.git'
  29. Bundle 'bash-support.vim'
  30. Bundle 'Cpp11-Syntax-Support'
  31. Bundle 'perl-support.vim'
  32. set nocp
  33. map <F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>”如果是C++的代码需要只能提示这里的几个选项是必须的。
  34. filetype plugin indent on
  35. "taglist
  36. set completeopt=longest,menu
  37. let Tlist_Ctags_Cmd='/usr/bin/ctags'
  38. let Tlist_Show_One_File=1
  39. let Tlist_Exit_OnlyWindlw=1
  40. let g:winManagerWindowLayout='FileExplorer|TagList'
  41. nmap wm :WMToggle
  42. set cscopequickfix=s-,c-,d-,i-,t-,e-
  43. nmap g :cs find g =expand("<cword>")
  44. nmap c :cs find c =expand("<cword>")
  45. let OmniCpp_NamespaceSearch = 1
  46. let OmniCpp_GlobalScopeSearch = 1
  47. let OmniCpp_ShowAccess = 1
  48. let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters
  49. let OmniCpp_MayCompleteDot = 1 " autocomplete after .
  50. let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->
  51. let OmniCpp_MayCompleteScope = 1 " autocomplete after ::
  52. let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
  53. au BufNewFile,BufRead,BufEnter *.cpp,*.hpp set omnifunc=omni#cpp#complete#Main
  54. autocmd FileType cpp set omnifunc=cppcomplete#CompleteCPP


差不多就这样了把。效果图如下:wm是快捷键,直接输入wm,不需要在命令:上面输

单独的nerdtree的效果如下:在命令行:输入NERDTree会显示出来

同时把握基本上用的比较多的命令如下:
+ ]  跳转光标处函数的原型位置
+ t  返回跳转
g]                列出所有的匹配的函数原型。
%               跳转{[]}相匹配的位置
*(#)        查找光标处的单词的下次(上次)出现

阅读(1022) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~