[vundle]利用vundle工具来管理vim插件
转自:http://os.51cto.com/art/201507/484174.htm
Vim是Linux上一款用途广泛的轻量级文本编辑工具。虽然对普通的Linux用户来说开始学用起来难度相当大,但鉴于它具有的种种好处,完全值得一学。至于功能方面,Vim可以通过插件实现全面定制。不过由于其高级配置,你可能需要在其插件系统上花一番时间,才能够高效地对Vim进行个性化定制。幸好,我们有几个工具可以简化我们使用Vim插件。Vundle就是本人每天使用的一款工具。
1. Vundle简介
Vundle(https://github.com/VundleVim/Vundle.vim)的全称是Vim Bundle,它是一款Vim插件管理工具。Vundle让你可以非常轻松地安装、更新、搜索和清理Vim插件。它还能管理你的运行时环境,并帮助标记。我在本教程中将介绍如何安装和使用Vundle。
2. 安装Vundle
首先,如果你的Linux系统上还没有Git,安装它(http://ask.xmodulo.com/install-git-linux.html)。
下一步,创建一个目录,Vim插件下载后将安装到该目录下。默认情况下,该目录位于~/.vim/bundle。
- $ mkdir -p ~/.vim/bundle
现在安装Vundle,如下所示。请注意:Vundle本身是另一种Vim插件。因而,我们将Vundle安装在之前创建的~/.vim/bundle下。
- $ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
3. 配置Vundle
现在设置你的.vimrc文件,如下所示:
- set nocompatible " 这是必需的
- filetype off " 这是必需的
- " 你在此设置运行时路径
- set rtp+=~/.vim/bundle/Vundle.vim
- " vundle初始化
- call vundle#begin()
- " 这应该始终是第一个
- Plugin 'gmarik/Vundle.vim'
- " 该例子来自https://github.com/gmarik/Vundle.vim README
- Plugin 'tpope/vim-fugitive'
- " 来自http://vim-scripts.org/vim/scripts.html的插件
- Plugin 'L9'
- "未托管在GitHub上的Git插件
- Plugin 'git://git.wincent.com/command-t.git'
- "本地机器上的git软件库(即编写自己的插件时)
- Plugin 'file:///home/gmarik/path/to/plugin'
- " sparkup vim脚本在名为vim的该软件库子目录下。
- " 传递路径,合理设置运行时路径。
- Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
- " 与L9避免名称冲突
- Plugin 'user/L9', {'name': 'newL9'}
- "每个插件都应该在这一行之前
- call vundle#end() " required
不妨稍微解释一下上述配置。默认情况下,Vundle从github.com或vim-scripts.org下载并安装Vim插件。你可以修改默认行为。
3.1.插件安装方式
- 从Github进行安装:
- Plugin 'user/plugin'
- Plugin 'plugin_name'
- 从另一个git软件库进行安装:
- Plugin 'git://git.another_repo.com/plugin'
- 从本地文件进行安装:
- Plugin 'file:///home/user/path/to/plugin'
3.2.定制参数
你还可以定制其他参数,比如插件的运行时路径,如果你在自行编写插件,或者就想从不是~/.vim的另一个目录来装入它,这非常有用。
- Plugin 'rstacruz/sparkup', {'rtp': 'another_vim_path/'}
如果你有同样名称的插件,可以更名插件,那样它就不会冲突。
- Plugin 'user/plugin', {'name': 'newPlugin'}
4.Vundle命令用法
一旦你用Vundle设置好了插件,就可以使用几个Vundle命令,用Vundle来安装、更新、搜索和清理闲置未用的插件。
4.1.安装一个新的插件
PluginInstall命令会安装在你的.vimrc文件中列出来的所有插件。你还可以只安装某一个特定的插件,只要传递其名称。
- :PluginInstall
- :PluginInstall <plugin-name>
4.2.清理闲置未用的插件
如果你有任何闲置未用的插件,只要使用PluginClean命令,就可以清理它。
- :PluginClean
4.3.搜索插件
如果你想从所提供的插件列表安装一个插件,搜索功能就很有用。
- :PluginSearch <text-list>
在搜索过程中,你可以在交互式分屏上安装、清理、研究或重新装入同一列表。安装插件不会自动装入你的插件。想自动装入插件,将插件添加到你的.vimrc文件。
这个功能也经常用,比如:PluginSearch taglist,完成搜索后,可以按下'i'进行安装
5.结束语
Vim是一款非常出色的工具。它不仅是一款出色的默认文本编辑工具,可以让你的工作流程更快速更流畅,还可以转换成IDE(集成开发环境),支持几乎任何一种现有的编程语言。Vundle对于快速轻松地对功能强大的Vim环境实现个性化大有帮助。
问题:
1. 中间出现过问题call vundle#begin()和call vundle#end()配对时,始终.vimrc不起作用,后来换成call vundle#rc()和filetpe plugin indent on二者,把插件添加到中间即可。
2. 很多插件都需要设置.vimrc,如快捷键和路径等等,如下是简单地的一个.vimrc
- "vim configuration
- set modelines=
- "设置更好的删除
- set backspace=
- syntax on "语法高亮
- "用浅色高亮当前行
- autocmd InsertLeave * se nocul
- autocmd InsertEnter * se cul
- set smartindent "智能对齐
- set autoindent "自动对齐
- set confirm "在处理未保存或只读文件的时候,弹出确认框
- set tabstop= "tab键的宽度
- set softtabstop=
- set shiftwidth= "统一缩进为4
- set expandtab "不要用空格替代制表符
- set number "显示行号
- set history= "历史纪录数
- set hlsearch
- set incsearch "搜素高亮,搜索逐渐高亮
- set gdefault "行内替换
- set encoding=utf-
- set fileencodings=utf-,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936,utf-,big5,euc-jp,latin1 "编码设置
- colorscheme molokai
- set guifont=Menlo:h16:cANSI "设置字体
- set langmenu=zn_CN.UTF-
- set helplang=cn "语言设置
- set ruler "在编辑过程中,在右下角显示光标位置的状态行
- set laststatus= "总是显示状态行
- set showcmd "在状态行显示目前所执行的命令,未完成的指令片段也会显示出来
- set scrolloff= "光标移动到buffer的顶部和底部时保持3行的距离
- set showmatch "高亮显示对应的括号
- set matchtime= "对应括号高亮时间(单位是十分之一秒)
- set autowrite "在切换buffer时自动保存当前文件
- set wildmenu "增强模式中的命令行自动完成操作
- set linespace= "字符间插入的像素行数目
- set whichwrap=b,s,<,>,[,] "开启normal 或visual模式下的backspace键空格键,左右方向键,insert或replace模式下的左方向键,右方向键的跳行功能
- filetype plugin indent on "分为三部分命令:file on,file plugin on,file indent on 分别是自动识别文件类型, 用用文件类型脚本,使用缩进定义文件
- set foldenable "允许折叠
- set cursorline "突出显示当前行
- set magic "设置魔术?神马东东
- set ignorecase "搜索忽略大小写
- filetype on "打开文件类型检测功能
- set background=dark
- set t_Co= "256色
- set mouse=a "允许鼠标
- set nocompatible " 这是必需的
- filetype off " 这是必需的
- " NERDTree------------------------------------------------------
- let NERDTreeQuitOnOpen= " Nerdtree is quit, when file is opened
- let NERDTreeShowBookmarks= " Display bootmark
- " let NERDTreeChDirMode=2 " Root is default directory
- " let mapleader = ","
- map <F4> :NERDTreeToggle<CR>
- map <C-F4> :NERDTreeFind<CR>
- " Taglist------------------------------------------------------
- let Tlist_Ctags_Cmd='ctags'
- let Tlist_Show_One_File=
- let Tlist_WinWidth=
- let Tlist_Exit_OnlyWindow=
- let Tlist_Use_Left_Window=
- " Cscope------------------------------------------------------
- if has("cscope")
- set csprg=/usr/bin/cscope
- set csto=
- set cst
- set nocsverb
- " add any database
- if filereadable("cscope.out")
- cs add cscope.out
- " else add pointed
- elseif $CSCOPE_DB!=""
- cs add $CSCOPE_DB
- endif
- set csverb
- endif
- " shortcuts
- nmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@>e :cs find e <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@>f :cs find f <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@>i :cs find i <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@>d :cs find d <C-R>=expand("<cword>")<CR><CR>
- " Vundle--------------------------------------------------------
- set rtp+=~/.vim/bundle/Vundle.vim
- call vundle#rc()
- Plugin 'gmarik/Vundle.vim'
- Plugin 'tpope/vim-surround'
- Plugin 'bling/vim-airline'
- Plugin 'scrooloose/nerdtree'
- Plugin 'taglist.vim'
- Plugin 'cscope.vim'
- filetype plugin indent on " required
[vundle]利用vundle工具来管理vim插件的更多相关文章
- 用Vundle管理Vim插件
作为程序员,一个好用的Vim,是极其重要的,而插件能够使原本功能羸弱的Vim变得像其他功能强大的IDE一样好用.然而下载.配置插件的过程比较繁琐,大家往往需要自己进行下载/配置等操作,如果还涉及到更新 ...
- 使用pathogen管理Vim插件并托管到Github
参照文章[1][2]的办法,将vim打造成一个Python开发环境.文章中使用的是 pathogen + git 来管理 Vim 插件的.对这种方式还不太明白的同学可以参考[3]中的介绍.pathog ...
- 使用Vundle管理Vim插件
附:仓库地址 附:我自用的vim配置文件,里面注释很多,仅供参考. Vundle是一款Vim的插件管理软件(Linux),用起来很方便的原因有几点: 支持插件超多,可以来源于github.Vundle ...
- 菜鸟vimer成长记——第4.0章、Vim插件管理利器-Vundle
定义 Vundle是vim bunler和简称,它是一个vim插件管理器. Vim本身缺乏对插件的有效管理,安装插件并配置.vimrc文件非常不便.gmarik受到Ruby的bunler的启发,开发了 ...
- 常用vim插件的安装、使用和管理
1.Ctags Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或者其他工具用来快速查找定位源代码中的符号,入变量名,函数名等.比如,tags文件就是Taglist和 ...
- 【转载】跟我一起学习VIM - vim插件
目录 写在前面:Life Changing Editor 什么是VIM 为什么选VIM 为什么选其它 为什么犹豫选择它们 VIM >= SUM(现代编辑器) 如何学习VIM 一秒钟变记事本 VI ...
- 跟我一起学习VIM - vim插件合集
2016-06-14 15:04 13333人阅读 评论(0) 收藏 举报 分类: Linux(104) 目录(?)[+] 前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教 ...
- vim插件cscope使用方法
一.安装cscope 安装方式比较多样,可以在各自linux软件管理工具中安装,也可以去官网下载安装. sudo apt-get install cscope 二.插件安装 这里选择的是Vundle来 ...
- vim插件和配置
vim插件和配置 插件 pathogen 可以方便地管理vim插件 在没有pathogen的情况下,vim插件的文件全部都放在.vim目录,卸载插件很麻烦,pathogen可以将不同的插件放在一个单独 ...
随机推荐
- 【云计算】OpenStack qcow2镜像如何转化为Docker镜像?
Import qcow2 image to docker hub 参考资料: https://forums.docker.com/t/import-qcow2-image-to-docker-hub/ ...
- office excel2013如何启用solver选项
Excel要启用solver很多地方说是要单独安装插件,我认为不同版本可能操作不同.此时office2013已经足够强大,可以通过下面的方法来启用solver 1:在office2013 Excel中 ...
- [Grunt] grunt.template
/** * Created by Answer1215 on 11/15/2014. */ module.exports = function(grunt){ grunt.initConfig({ f ...
- #define 与 typedef
1.#define:预编译指令,在预编译的时候,进行文本替换. 2.typedef:编译时处理,为类型取一个别名. 3.#define与typedef的顺序是相反的,记住typedef就行了.type ...
- 利用 Android 系统原生 API 实现分享功能
利用 Android 系统原生 API 实现分享功能 这篇文章提供一个封装好的 Share2 库供大家参考. GitHub 项目地址:Share2 大家知道,要调用 Android 系统内建的分享功能 ...
- 【转】IT新人如何快速成长
主动积极 主动积极包括很多方面了,主动学习.主动思考.主动承担责任等等.我觉得主动性很重要,如果你能做到这一点,那么肯定会把工作做的很好的. 学会学习 公司不是学校,需要改变由老师灌输知识的学习方式. ...
- Matlab interpgui
function interpgui(arg1,arg2) %INTERPGUI Behavior of interpolating functions. % Demonstrates interpo ...
- 有关WINDOWS XP登录密码的几种方法
网上关于破解WINDOWS XP登录密码的几种方法很多,但许多根本不行.我现在总结自己试过几种,这几种方法其实均比较菜的,但可行的.WINDOWS XP登录是由SAM 文件管理的,总体来说“山姆大叔” ...
- [转发]在Visual Studio 2010/2012/2013/2015上使用C#开发Android/IOS安装包和操作步骤
官方学习文档:http://developer.xamarin.com/guides/android/getting_started/ 官方学习例子:http://developer.xamarin. ...
- JavaWeb 调用接口
JavaWeb 如何调用接口 CreateTime--2018年4月2日19:04:29 Author:Marydon 1.所需jar包 2.代码设计 WebUtils.java import j ...