vim bundle安装
一、准备工作
安装Git(因为下面我们选择的插件管理器需要使用到它)
安装其他插件前首先需要选择一个Vim插件管理器,我这里选择的是Vundle,Vundle的工作过程中需要通过Git自动从远程创库同步插件安装包到本地仓库(Vundle的默认本地仓库位置是~/.vim/bundle/) 通过Git下载Vundle安装包:$ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim 在~/.vimrc中添加Vundle的配置内容: 

01.1 set nocompatible " be iMproved, required02.2 filetype on " required03.304.4 " set the runtime path to include Vundle and initialize05.5 set rtp+=~/.vim/bundle/Vundle.vim06.6 call vundle#begin()07.7 " alternatively, pass a path where Vundle should install plugins08.8 "call vundle#begin('~/some/path/here')09.910.10 " let Vundle manage Vundle, required11.11 Plugin 'gmarik/Vundle.vim'12.1213.13 " plugin from http://vim-scripts.org/vim/scripts.html14.14 Plugin 'L9'15.15 " Git plugin not hosted on GitHub17.17 " git repos on your local machine (i.e. when working on your own plugin)19.19 " The sparkup vim script is in a subdirectory of this repo called vim.20.20 " Pass the path to set the runtimepath properly.21.21 " Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}22.22 " Avoid a name conflict with L923.23 " Plugin 'user/L9', {'name': 'newL9'}24.2425.25 " All of your Plugins must be added before the following line26.26 call vundle#end() " required27.27 filetype plugin indent on " required28.28 " To ignore plugin indent changes, instead use:29.29 "filetype plugin on30.30 "31.31 " Brief help32.32 " :PluginList - list configured plugins33.33 " :PluginInstall(!) - install (update) plugins34.34 " :PluginSearch(!) foo - search (or refresh cache first) for foo35.35 " :PluginClean(!) - confirm (or auto-approve) removal of unused plugins36.36 "37.37 " see :h vundle for more details or wiki for FAQ38.38 " Put your non-Plugin stuff after this line有两种方式安装新插件,通过命令行参数的方式如:$ vim +PluginInstall +qall或者直接运行:$vim,然后按:PluginInstall进入命令模式,直到左下方状态栏出现Done!提示说明插件安装成功,退出再进入就可以使用我们在~/.vimrc中配置的插件了 安装ctags软件:$ yum install ctags
二、生成tags文件
为了可以利用Vim本身提供的tag功能来定位程序里面出现的宏定义和方法定义(源文件之间跳转),在你的工程根目录运行命令:$ ctags -R --language-force=c++ *,这里语言要指定为c++,如果指定为c则不会生成.h文件的tag。操作成功后在当前目录就可以发现一个tags文件了,在~/.vimrc中添加一行配置信息如:set tags=/opt/dev/4.4BSD-Lite/tags来告诉vim tag索引文件的位置。再次运行vim就可以通过按Ctrl+]来快速跳转到光标下方的函数或宏的定义处,查看代码非常方便。通过]+d可以在vim状态栏显示当前文件中定义的宏的内容(不用跳转)
三、按需添加插件
(1)显示目录树插件(NERDTree)
在~/.vimrc的Plugin段中添加一行安装配置:Plugin 'scrooloose/nerdtree' 在~/.vimrc里面修改该插件的打开命令按键映射:map <F4> :NERDTree<cr> 保存被修改的配置文件,重新运行vim,如:$ vim /opt/dev 按F4功能键即可调用该插件显示当前工作目录的目录树,按?或者帮助信息,按q退出该插件(当打开多个tab时可以通过gt或窗口index+gt在tab之间快速切换,按T以安静方式打开新tab即打开新tab后继续留在当前tab)
(2)文件查找插件(CtrlP)
在~/.vimrc的Plugin段中添加一行安装配置:Plugin 'kien/ctrlp.vim' 在~/.vimrc里面修改该插件的打开命令按键映射及配置:
1.let g:ctrlp_map = '<c-p>' "hotkey Ctrl+p open ctrlp plugin2.let g:ctrlp_cmd = 'CtrlP'3.let g:ctrlp_working_path_mode = '0' "disable work path mode保存被修改的配置文件,重新运行vim,如:$ vim /opt/dev 按Ctrl+p即可调用该插件(每次运行第一次打开需要稍微等一下,该插件对工作目录进行扫描创建缓存,如果目录结构有变化按F5进行缓存刷新,我找了下没有发现保存扫描缓存的功能),按ESC退出该插件(Ctrl+t在新tab中打开选中的文件);:CtrlPMRU 在最近使用最多的文件里面查找结果;:CtrlPBuffer在find buffer里面查找结果;按..进入上一级目录中
(3)函数名列表(CtrlPFunky),该插件是CtrlP插件的一个扩展,必须先装CtrlP
在~/.vimrc的Plugin段中添加一行安装配置:Plugin 'tacahiroy/ctrlp-funky' 在~/.vimrc里面修改该插件的命令按键映射及配置:
1.map <F6> :CtrlPFunky<cr>2.let g:ctrlp_extensions = ['funky']3.let g:ctrlp_funky_syntax_highlight = 1 保存被修改的配置文件,重新运行vim打开一个c源文件,按F6键即可看到当前文件的函数列表,上下键移动选择条目按回车即可跳到函数定义处
(4)源文件中函数、变量、结构体、宏等元素的列表(taglist)
在~/.vimrc的Plugin段中添加一行安装配置:Plugin 'vim-scripts/taglist.vim' 在~/.vimrc里面修改该插件的命令按键映射及配置:
1.map <F5> :Tlist<cr>2.let Tlist_Show_One_File = 13.let Tlist_Exit_OnlyWindow = 14.let Tlist_Use_Right_Window = 15.let Tlist_GainFocus_On_ToggleOpen = 1保存被修改的配置文件,重新运行vim打开一个c源文件,按F5键即可在右边子窗口看到当前文件的个元素的列表,上下键移动选择条目按回车即可跳到函数定义处,F1查看帮助信息,在选择的对象上按<space>可以在状态栏看到各元素的定义;按减号(-)关闭一个节点,按*打开关闭的结点
四、后记
上面四个插件就是我当前阅读源代码的IDE配置,对于我来说已经足够满足我的工作需要了;由于这次时间仓促Vim里面还有很多人性化的配置及插件没来得及发现,随着我对Vim更深入的了解及在使用过程中遇到的新问题,还会有更多优秀的功能及插件,到时候再来分享。
为了方便的保存每次的工作状态及再次运行Vim的时候恢复上次工作状态需要在~/.vimrc中添加如下两行配置(也就是Vim的Session管理功能):
1.map <F2> :mksession! ~/vim_session <cr> " Quick write session with F22.map <F3> :source ~/vim_session <cr> " And load session with F3vim bundle安装的更多相关文章
- Ubuntu下VIM的安装及其配置——Linux篇
一.Ubuntu系统默认内置: 实际上ubuntu默认没有安装老版本的vi,只装了vim.vi是vim.tiny(vim的最小化版本,不含 GUI,并且仅含有一小部分功能,并且默认与vi兼容.此软件包 ...
- Ubuntu Vim YouCompleteMe 安装
0. 必要工具安装 sudo apt-get install build-essential cmake 1. 安装 vundle mkdir ~/.vim/bundle git clone http ...
- vim插件安装总结
vim插件安装总结 vim 插件 vundle 插件对于vim来说是一个杀手级别的神器助手,能自动补全,语法高亮,文件搜索等等,有效地提升了编程效率.下面就个人的一些安装和使用进行一个总结. 自动管理 ...
- Vim YouCompleteMe 安装配置
YouCompleteMe是很强大的vim插件,可以提供强大的补齐功能,曾经多次尝试安装,都没有配置成功,最近在一个契机下,看到有同事的配置,自己在边尝试和边咨询后,终于也搞定了,遂记录下. 官网有最 ...
- MarkDown的vim插件安装
作用:可以使markdown语法高亮.1.安装.使用pathogen插件管理. cd ~/.vim/bundle git clone https://github.com/plasticb ...
- 【原创】vim插件安装简介
一.安装vundle(vim插件管理软件): git clone https://github.com/VundleVim/Vundle.vim 拷贝目录到 ~/.vim/bundle/Vundle. ...
- vim 插件安装
一.pathogen简介 通常情况下安装vim插件,通常是将所有的插件和相关的doc文件都安装在中一文件夹中,如将插件全部安装在/usr/share/vim/vim73/plugin/目录下,将帮助文 ...
- vundle就是vim bundle的插件管理成ide
如何配置一个高效的php编辑环境, 很好 对vundle的操作, 除了仓库名称是vundle.git (*.git就是仓库) 和 本地目录名是 vundle之外, 其他的操作都是bundle git ...
- Linux c++ vim环境搭建系列(4)——vim插件安装配置使用
4. 插件 主要是c++相关的. ~/.vimrc文件在GitHub上有:https://github.com/whuwzp/vim_config 以下内容参考: https://github.com ...
随机推荐
- RTMP协议分析及推流过程
1.RTMP(实时消息传输协议)是Adobe 公司开发的一个基于TCP的应用层协议. 2.RTMP协议中基本的数据单元称为消息(Message). 3.当RTMP协议在互联网中传输数据的时候,消息会被 ...
- windows游戏编程X86实模式和保护模式
本系列文章由jadeshu编写,转载请注明出处.http://blog.csdn.net/jadeshu/article/details/22309359 作者:jadeshu 邮箱: jades ...
- 内存管理1 retain & release
内存管理法则 1:谁创建谁释放alloc /new/ copy------>release/autorelease.一一对应,不是你创建的就不用你释放. 2:除了alloc /new/ copy ...
- tesseract 安装及使用
安装软件 tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/ 安装即可! 安装完成tesseract-ocr后,需要做一下配置 . 在P ...
- masm for windows2015 下载安装
下载地址: https://sm.myapp.com/original/Office/wasm2015.rar
- League of Leesins
C - League of Leesins 首先找到每一串数字的头和尾两个数字,这两个数字有一个特点,就是它们在输入数据的时候都只会出现一次.我们在输出的时候用头和尾做第一数都可以. 然后第二个数只会 ...
- 学习GeoServer遇到的问题及答案
简介:本文的记录学习GeoServer遇到的问题,如果已有答案将会附上. 1.GeoServer介绍?,功能? GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 Ge ...
- instr和like的使用区别
1.instr函数 instr函数是一个字符串处理函数,它在Oracle/PLSQL中是返回子字符串在源字符串中的位置,如果在源串中没有找到子串,则返回0. instr函数定义如下: /* * 返回子 ...
- 2018-2019-2 20175227张雪莹《Java程序设计》实验五 《网络编程与安全》
2018-2019-2 20175227张雪莹<Java程序设计> 实验五 <网络编程与安全> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:20 ...
- ArcGIS Python 唯一值专题
import arcpy mxd = arcpy.mapping.MapDocument("current") lyr = arcpy.mapping.ListLayers(mxd ...