VIM开发环境配置

vim作为Linux系统下的开发神器,历史悠久. 在今天,vim还能不能继续发扬光大,这个不是这篇文章讨论的话题。 本文主要是记录在Linux下围绕vim的开发环境的配置,以便自己以后查询,也方便需要的朋友借鉴。

vim插件管理系统

vim的插件是vim生态系统的重要组成部分, 它的重要性就不说了。 一直以来vim都没有能够形成官方的统一的插件管理机制。取而代之的是, 用户首先将插件下载解压到 ~/.vim 目录下,然后再在~/.vimrc文件中配置和启用。 这一做法随着Pathogen的引入有了一定的改善。 Pathogen提倡标准的插件目录结构, 安装流程来简化新插件的安装。Pathogen是vim下的第一个插件管理系统, 今天我们介绍的主角叫Vundle, 它是在Pathogen的基础上改进而来的插件管理系统。

Vundle

Vundle是Vim bundle的缩写, Vundle可以帮助你:
1. 在.vimrc中配置及管理插件
2. 流水线式安装插件
3. 自动升级插件
4. 在插件仓库中搜索插件
5. 卸载不用的插件
6. 以上命令除了通过命令行完成外,Vundle也提供交互模式来完成相关动作。

一句话概括,就是vim模式下的apt系统。

安装及配置Vundle

  • 打开命令行,安装Vundle:
    >>git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

  • 在~/.vimrc最上面,黏贴下面的一段配置:
set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
" Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
" Plugin 'L9'
" Git plugin not hosted on GitHub
" Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
" Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
" Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Install L9 and avoid a Naming conflict if you've already installed a
" different version somewhere else.
" Plugin 'ascenator/L9', {'name': 'newL9'}

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

set rtp+=~/.vim/bundle/Vundle.vim 设置了rtp变量,是vim下插件的运行时路径(Runtime Path),有点类似于$PATH环境变量,这里首先将Vundle自身添加进运行时路径,这样vim启动的时候就能够运行Vundle的命令。

call vundle#begin()call vundle#end() 这两个调用之间列出所有需要Vundle管理的插件。 Plugin 'VundleVim/Vundle.vim' 把Vundle自身列入其中,因为Vundle本身也是vim插件,也需要升级维护。 下面注释掉的部分是一些vim插件,每一个插件是一行, 由Plugin命令起始, 参数是URI,以及少量可选参数, 以键值对的形式出现:

>> Plugin 'URI' [{'key' : 'value'}]

Plugin语法

这里的'URI' 是插件所在的路径, 可以是online 仓库的相对地址,也可以是本地地址。对于online仓库, 目前主要是两个:

  1. https://github.com/
  2. http://vim-scripts.org/vim/scripts.html

1 当Plugin 命令中的 URI是以 user/repo 的形式出现的时候, 表示使用Github仓库:

Plugin 'VundleVim/Vundle.vim'  => https://github.com/VundleVim/Vundle.vim

2 如果出现的URI是一个不包含"/"的单词,表示是一个vim-scripts插件。注意这里的vim-scripts仓库实际上也是映射到Github路径:

 Plugin 'ctrlp.vim' => https://github.com/vim-scripts/ctrlp.vim

3 还有一种形式的online仓库是一个git 地址,此时Vundle只会原封不动的使用这个地址来clone插件:

Plugin 'git://git.wincent.com/command-t.git'

4 最后你还可以使用本地插件, 使用绝对路径指向插件所在的路径:

Plugin 'file:///path/from/root/to/plugin'

解释完URI,再来看看可选的键值对选项是什么?

  1. rtp
  2. name
  3. pinned

  • rtp 选项前面已经说了表示插件运行时路径,有时候vim插件可能不只是一个vim脚本,可能是一整个文件夹,这样整个插件内容就如同一个普通的.git仓库一样,rtp选项就是用来指定插件脚本相对于.git 仓库根目录的路径。
Plugin 'git_URI', {'trp' : "some/subdir/'}
  • name 选项表示设置clone插件时的文件夹名称,用于git clone时显示指定文件夹的名称。 这个可以用于同一个插件多个版本同时使用的情况下。
Plugin 'git_URI', {'name': 'newPluginName'}
  • pinned 当设置为1时,表示禁止Vundle对该插件使用任何git 操作。 由用户自身手动clone和更新该插件,Vundle只要进行其他的管理即可,比如讲插件路径添加进运行时路径,查询安装插件的时候显示该插件等等。
Plugin 'mylocalplugin', {'pinned': 1}

Vundle的插件管理命令

  • :PluginInstall
    安装.vimrc中指定的所有插件, 并自动启用。

  • :PluginInstall unite.vim
    安装指定的插件, 类似于apt-get install,在仓库中搜索插件。支持Tab键自动补齐。通过这种方式安装的插件并不是永久性的,需要在~/.vimrc中指定,才能够永久安装并自动被Vundle管理。

  • :PluginInstall unite.vim tpope/vim-surround tpope/vim-fugitive
    安装多个插件,中间使用空格分隔。

  • :PluginUpdate
    安装或者更新.vimrc中指定的所有插件。

  • :PluginUpdate vim-surround vim-fugitive
    指定更新插件。

  • :PluginSearch foo
    在Vim-scripts中搜索插件并显示结果。 要求系统安装了curl命令。

  • :PluginSearch! foo
    先更新插件列表再搜索

  • :PluginList
    显示安装插件列表

  • :PluginClean
    删除所有在插件安装路径下但并没有在.vimrc下使用的插件,删除前需要用户确认。

  • :PluginClean!
    删除所有在插件安装路径下但并没有在.vimrc下使用的插件, 无确认。


Vundle交互模式

所有罗列Vundle插件的命令在执行之后都会在分隔页面显示一个列表,这时Vundle进入交互模式.比如,使用PluginSearch命令搜索cscope:

>>:PluginSearch! cscope

"Keymap: i - Install plugin; c - Cleanup; s - Search; R - Reload list                                
"Search results for: cscope                                                                         
Plugin 'cscope.vim'                                                                                   
Plugin 'cscope_plus.vim'                                                                          
Plugin 'cscope-wrapper'                                                                             
Plugin 'cecscope'                                                                                    
Plugin 'ACScope'                                                                                   
Plugin 'cscope_win'                                                                                
Plugin 'cscope-quickfix'                                                                            
Plugin 'cscope-menu'                                                                                
Plugin 'autoload_cscope.vim'                                                                      
Plugin 'cscope_macros.vim'              

要安装某个插件,将光标移动到相应位置,按’i’键开始自动安装。

ctags

关于ctags的作用就不多说了,直接上配置方式:

  • ctags 安装
sudo apt-get install exuberant-ctags
  • 生成ctags数据库
cd prj/src
ctags -R .
  • vim 打开任意源文件

  • 使用ctags命令开始浏览代码


Taglist

  • 安装taglist
:PluginSearch Taglist

"Keymap: i - Install plugin; c - Cleanup; s - Search; R - Reload list
"Search results for: Taglist                                                                                         
Plugin 'taglist-plus'                                                                                                
Plugin 'taglist.vim' 

在交互模式下安装'taglist-plus'

  • 开始使用Taglist
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
个人常用vim的IDE开发环境2015最新版。。 vim的快捷键和常用插件都已配好。。 支持cscope ctag,扩展工具栏,支持各类代码跳转查看。可以完全替代sourceinsight 支持自动编译输出窗口 支持代码符号定义快速预览窗口,需要生成完cscope数据库,按Fx键启用,具体哪个 忘了。。 = = 内置tab自动完成和提示,c/c++成员。声明提示。风格配色比较清新简洁。 字体采用courier new,space 4对齐 右边有buffer栏,函数符号栏, 可以按f2切换到文件树列表 f3 f4:大小写格式化 从F1 按到 f12 会有意外发现哦。。你可以一个个试过来。。哈哈。。 安装简单: 需要提前安装好 vim gvim/mvim cscope ctag 然后解压在当前目录 执行 install 就行了。。 windows下安装只需要吧 windows目录下的文件覆盖过去就好 macosx上是 mvim 哦。。 sourceinsight的代码查看功能启用,按下工具栏某个生成符号数据库的图标,就行了,各类跳转和搜索都有图标,快速使用。 注意:gvimvim 必须在源码目录下打开才行,他只会查找当前目录下的所有代码来生成。。 安装完 右击代码文件 系统右键菜单有个script菜单项 的gvim 可以在当前目录下打开代码文件。。 打开一个就可以管理整个工程了。。其他的文件拖进来。。 或者通过f2的目录树访问。。 还有隐藏插件 需要自己按快捷键启用 自己摸索吧。。 比如 文件搜素 图表绘制 matrix动画 。。。 一些集成好的常用插件: 1. tabbar符号列表 2. buffer当前打开文件列表 3. 文件树列表 4. cscope, ctags集成,可进行符号跳转,引用跳转,头文件跳转等。。 5. autotab自动补全 6. c/c++符号提示 7. 静态语法检测 8. 快速翻译 9. 注释绘图 10. 还有好多其他的,暂时想不起来的。。自己摸索吧。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值