vim 中的杀手级插件: vundle (vim 插件管理器)

 

From:http://zuyunfei.com/2013/04/12/killer-plugin-of-vim-vundle/

vundle.txt:https://github.com/VundleVim/Vundle.vim/blob/master/doc/vundle.txt

Vundle 的具体介绍和配置:github repohttps://github.com/gmarik/vundle  或者  vim.org:https://vim.sourceforge.io/scripts/script.php?script_id=3458

 

如果想找到适合自己的Vim插件。可以浏览 http://www.vim-scripts.org、Github 或http://www.vimawesome.com,查找新的脚本或插件。另外记得使用插件的帮助文档。

 

Ubuntu 安装出错时,可以参考这个
Unkown function: vundle#installer#new:https://www.cnblogs.com/zhyantao/p/11335050.html

 

 

 

背景

 

相比 sublime text2 等现代编辑器,Vim 缺乏默认的插件管理器,所有插件的文件都散布在 ~/.vim 下的几个文件夹中,配置 vim 的过程,就是在网上不停的搜插件,拷贝到 ~/.vim下,发现更新时需要重新下载重新拷贝,想要删除某个不需要插件,更是要小心翼翼的不要删错。配置出顺手的Vim, 需要极大的耐心和运气。

当然 vim 社区的活力是不容怀疑的,没有枪没有炮大神们自己造。以前使用过 tpope 的 pathogen,使用 git submodule 和pathogen, 管理插件已经大大简化。而今天介绍的 vundle, 更是把 git 操作整合进去,用户需要做的只是去 Github 上找到自己想要的插件的名字,安装,更新和卸载都可有 vundle 来完成了。虽然去发现一个好的插件仍然是一个上下求索的过程,但是用户已经可以从安装配置的繁琐过程解脱了。

现在使用 vundle 来管理 vim 是潮流,并且方便快捷。它使用类似 Ruby Bundler 的方式来管理插件,你只需要在.vimrc里面用Bundle声明插件

 

 

Vundle 简介

 

Vundle 是 Vim bundle 的简称,是一个 Vim 插件管理器. (bundle 是 打包的文件、程序的集合)

Vundle 允许你做…

  1. 在 .vimrc中 跟踪 和 管理 插件
  2. 安装特定格式的插件(a.k.a. scripts/bundle)
  3. 更新特定格式插件
  4. 通过插件名称搜索Vim scripts中的插件
  5. 清理未使用的插件
  6. 可以通过单一按键完成以上操作,详见interactive mode

Vundle 可以自动完成

  1. 管理已安装插件的runtime path
  2. 安装和更新后,重新生成帮助标签

 

 

安装 和 配置

 

首先,如果你的Linux系统上还没有Git,安装它(http://ask.xmodulo.com/install-git-linux.html)。

下一步,创建一个目录,Vim插件下载后将安装到该目录下。默认情况下,该目录位于~/.vim/bundle。

// 这条命令默认安装在 ~/.vim/bundle/vundle 下
$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

 

下面是我本机 安装在家目录下 :~/.vim/bundle/Vundle.vim/  目录下:

其实也可以 直接下载 源码文件,下载之后可以看到压缩包里面的文件 就是 图中 Vundle.vim 目录下面的所有文件。

 

 

配置说明

 

插件有三种类型: 

  1. Github 上 vim-scripts 仓库的插件 
  2. Github上非 vim-scripts 仓库的插件 
  3. 不在 Github 上的插件 

对于不同的插件,vundle 自动管理和下载插件的时候,有不同的地址填写方法,有如下三类: 

  1. 在 Github 上 vim-scripts 用户下的仓库,只需要写出repos(仓库)名称 
  2. 在 Github 其他用户下的 repos,需要写出”用户名/repos名” 
  3. 不在Github上的插件,需要写出git全路径

 

 

配置 vundle 插件

 

旧版配置:vundle#rc()、Bundle。         新版配置:vundle#begin()、Plugin。

现在都使用新版的配置格式

可以在终端通过 vim 打开 ~/.vimrc 文件:$vim ~/.vimrc

也可以直接在目录中打开( 快捷键 ctrl+H 显示隐藏文件 )。将以下加在 .vimrc 文件中,加入之后保存之后就可以使用vundle了。

添加的配置信息(样例)

:以后安装新插件就直接编辑vimrc,添加plugin就行了,在这里我们添加的plugin只是例子,你可以不安装这些插件,换上自己需要安装的插件。

 

*************************** github 说 必须放在 vimrc 文件所有内容的前面。***************************

我手动 把那些 必需 的 配置敲上之后报错。为了省事,直接把 github 上 的配置 全部复制 粘贴到 vimrc 文件的开头

github 上配置:https://github.com/VundleVim/Vundle.Vim

上半部分 是 添加 的 vundle 的配置部分。下半部分是 vimrc 原始 内容。

 

 

新版的配置格式:

 

把下面配置放在你的 .vimrc 文件所有内容之前(如不明白,看 github 上说明)

set nocompatible              " 这是必需的,去除VI一致性
filetype off                  " 这是必需的 " 在此设置运行时路径。即设置包括vundle和初始化相关的runtime path
set rtp+=~/.vim/bundle/Vundle.vim" vundle初始化 
call vundle#begin()  " 另一种选择, 指定一个vundle安装插件的路径
"call vundle#begin('~/some/path/here')" 让vundle管理插件版本,必须。" 这应该始终是第一个
Plugin 'VundleVim/Vundle.vim'" 以下范例用来支持不同格式的插件安装.
" 请将安装插件的命令放在vundle#begin和vundle#end之间." Github上的插件
" 格式为 Plugin '用户名/插件仓库名'
Plugin 'tpope/vim-fugitive'" 来自 http://vim-scripts.org/vim/scripts.html 的插件
" Plugin '插件名称' 实际上是 Plugin 'vim-scripts/插件仓库名' 只是此处的用户名可以省略
Plugin 'L9'" 由Git支持但不再github上的插件仓库 Plugin 'git clone 后面的地址'
Plugin 'git://git.wincent.com/command-t.git'" 本地的Git仓库(例如自己的插件) Plugin 'file:///+本地插件仓库绝对路径'
Plugin 'file:///home/gmarik/path/to/plugin'" 插件在仓库的子目录中.
" 正确指定路径用以设置runtimepath. 以下范例插件在sparkup/vim目录下
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}" 安装L9,如果已经安装过这个插件,可利用以下格式避免命名冲突
Plugin 'ascenator/L9', {'name': 'newL9'}" 你的所有插件需要在下面这行之前
call vundle#end()            " 必须
filetype plugin indent on    " 必须 加载vim自带和插件相应的语法和文件类型相关脚本" 忽视插件改变缩进,可以使用以下替代:
"filetype plugin on
"" 常用的命令
" :PluginList       - 列出所有已配置的插件
" :PluginInstall     - 安装插件,追加 `!` 用以更新或使用 :PluginUpdate
" :PluginSearch foo - 搜索 foo ; 追加 `!` 清除本地缓存
" :PluginClean      - 清除未使用插件,需要确认; 追加 `!` 自动批准移除未使用插件
"
" 查阅 :h vundle 获取更多细节和wiki以及FAQ" 将自己的非插件片段放在这行之后(也就是上面的所有全部放在文件所有内容之前。)

 

 

老版的配置格式

 

####在.vimrc 中添加bundle的配置

filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'gmarik/vundle'
Bundle '其他的 github 位置...'
filetype plugin indent on

Vundle 自己本身也是插件,上面实现了其对自己的管理。

set nocompatible              " 这是必需的,去除VI一致性
filetype off                  " 这是必需的 set rtp+=~/.vim/bundle/vundle/
call vundle#rc()" 现在让我们开始管理插件Bundle 'gmarik/vundle'
"my Bundle here:
"
" original repos on github
Bundle 'kien/ctrlp.vim'
Bundle 'sukima/xmledit'
Bundle 'sjl/gundo.vim'
Bundle 'jiangmiao/auto-pairs'
Bundle 'klen/python-mode'
Bundle 'Valloric/ListToggle'
Bundle 'SirVer/ultisnips'
Bundle 'Valloric/YouCompleteMe'
Bundle 'scrooloose/syntastic'
Bundle 't9md/vim-quickhl'
" Bundle 'Lokaltog/vim-powerline'
Bundle 'scrooloose/nerdcommenter'
"..................................
" vim-scripts repos
Bundle 'YankRing.vim'
Bundle 'vcscommand.vim'
Bundle 'ShowPairs'
Bundle 'SudoEdit.vim'
Bundle 'EasyGrep'
Bundle 'VOoM'
Bundle 'VimIM'
"..................................
" non github repos
" Bundle 'git://git.wincent.com/command-t.git'
"......................................
filetype plugin indent on

修改完 vimrc 文件之后,可以验证下结果:

king@kali:~# vi
:BundleList

 

如果看到上面结果,恭喜你,成功了。。。。。

 

 

安装插件

 

Vundle 命令用法

一旦你用Vundle设置好了插件,就可以使用几个Vundle命令,用Vundle来安装、更新、搜索和清理闲置未用的插件。

将想要安装的插件,按照地址填写方法,将地址填写在vundle#begin和vundle#end之间,保存之后,有两种方法安装插件。

打开一个vim, 运行:BundleInstall 

$vim
:PlugInstall                         命令会安装在你的.vimrc文件中列出来的所有插件。
:PluginInstall <plugin-name>         还可以只安装某一个特定的插件,只要传递其名称。:BundleList             -列举列表(也就是.vimrc)中配置的所有插件  
:BundleInstall          -安装列表中的全部插件  
:BundleInstall!         -更新列表中的全部插件  
:BundleSearch foo       -查找foo插件  
:BundleSearch! foo      -刷新foo插件缓存  
:BundleClean            -清除列表中没有的插件  
:BundleClean!           -清除列表中没有的插件  

或者在命令行运行 vim +BundleInstall +qall 

vim +PluginInstall +qall

安装完成后插件就能用了。安装插件所在的目录截图

 

####其它常用命令:

移除不需要的插件:编辑.vimrc文件移除的你要移除的插件所对应的plugin那一行。保存退出当前的vim重新打开vim,输入命令BundleClean。

搜索插件:如果你想从所提供的插件列表安装一个插件,搜索功能就很有用。:PluginSearch <text-list>

在搜索过程中,你可以在交互式分屏上安装、清理、研究或重新装入同一列表。安装插件不会自动装入你的插件。想自动装入插件,将插件添加到你的.vimrc文件。

附上一则vundle新老命令的对比(现在目测都可用)

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Data JPA 从入门到精通~Auditing及其事件详解

Auditing 及其事件详解 Auditing 翻译过来是审计和审核&#xff0c;Spring 的优秀之处在于帮我们想到了很多繁琐事情的解决方案&#xff0c;我们在实际的业务系统中&#xff0c;针对一张表的操作大部分是需要记录谁什么时间创建的&#xff0c;谁什么时间修改的&#xff0c;并且…

未来城市的无人机送货系统是怎样的?

来源&#xff1a; 资本实验室 作者&#xff1a;李鑫Siri通过移动应用下了一盒巴克拉拉面膜的订单&#xff0c;电商平台收到信息&#xff0c;发指令给最近的送货驳船。驳船上的无人机获取货物包裹后直接飞向Siri家。在不到8分钟的飞行后&#xff0c;无人机来到位于12层的Siri家…

Vim自动补全神器:YouCompleteMe

From&#xff1a;http://www.jianshu.com/p/d908ce81017a github 地址&#xff1a;https://github.com/Valloric/YouCompleteMe YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim. 参考&#xff1a; https://github.com/Valloric/YouCom…

对比 | 欧洲、美国、中国智慧城市的不同实践路径

来源&#xff1a;《上海城市规划》2018年第1期《欧美智慧城市最新实践与参考》作者&#xff1a;刘杨 龚烁 刘晋媛随着ICT、大数据、物联网等各类新兴技术的不断发展&#xff0c;智慧城市的运营和实践也不断趋于成熟。通过整理欧美各大典型智慧城市的最新实践案例&#xff0c;总…

C++ 使用 TinyXml 解析 XML 文件

知乎 C解析xml有什么好用的轮子? &#xff1a;https://www.zhihu.com/question/32046606 TinyXML-2 的 github地址和帮助文档&#xff1a;https://github.com/leethomason/tinyxml2 tinyxml 下载地址&#xff1a;https://sourceforge.net/projects/tinyxml/ *Please Note*…

定制自己的Windows CE 5.0 ARM中文模拟器(转)

定制自己的Windows CE 5.0 ARM中文模拟器(转)http://showvi.com/Blog/ViewAirticle/59一、生成OS 1. 安装Windows CE 5.0&#xff08;记得CPU类型里把ARMV4I选上&#xff09;装完之后装DeviceEmulatorBSP.msi&#xff0c;这是ARMV4I模拟器的BSP。 我补充个DeviceEmulatorBSP.ms…

人工智能即服务 当人工智能遇到云计算

来源&#xff1a;企业网为了在竞争中保持领先地位&#xff0c;越来越多的企业正在寻求将人工智能技术整合到其应用程序、产品、服务&#xff0c;以及大数据分析方法中。而企业开始使用人工智能技术的最简单和最流行的方法之一是使用基于云计算的人工智能即服务产品。根据调研机…

Linux 文件 IO

参考&#xff1a;http://blog.csdn.net/wanxiao009/article/details/5648583 C 和 C 文件操作详解&#xff1a;http://blog.csdn.net/freeking101/article/details/60959624 标准IO与文件IO 的区别&#xff1a;http://blog.csdn.net/big_bit/article/details/51804391 参考…

Spring Data JPA 从入门到精通~默认数据源的讲解

默认数据源 spring.datasource.driver-class-namecom.mysql.jdbc.Driver spring.datasource.urljdbc:mysql://127.0.0.1:3306/test?useSSLfalse spring.datasource.usernameroot spring.datasource.password123456 但是在实际工作中不可能这么简单&#xff0c;因为会用其他数…

国内AI芯片百家争鸣,何以抗衡全球技术寡头

来源&#xff1a;中国科学院自动化研究所 作者&#xff1a;吴军宁如果说 2016 年 3 月份 AlphaGo 与李世石的那场人机大战只在科技界和围棋界产生较大影响的话&#xff0c;那么 2017 年 5 月其与排名第一的世界围棋冠军柯洁的对战则将人工智能技术推向了公众视野。阿尔法狗&am…

zabbix php 5.6 安装配置,CentOS 5.6下Zabbix 1.8.5 服务端安装部署

CentOS 5.6下Zabbix 1.8.5 服务端安装部署CentOS 5.6 x86_64 Zabbix 1.8.5IP:192.168.88.130一、安装LAMP环境依赖包&#xff1a;# yum install MySQL-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql php-mbstring php-bcmath httpd curl-dev…

Linux系统编程——I/O多路复用select、poll、epoll

参考&#xff1a;https://segmentfault.com/a/1190000003063859 Linux下的I/O复用与epoll详解&#xff1a;https://www.cnblogs.com/lojunren/p/3856290.html 彻底学会 epoll 系列&#xff1a;http://blog.chinaunix.net/uid/28541347/sid-193117-list-1.htm Linux下I/O多路复用…

谷歌X实验室的“无用”发明

来源&#xff1a;OFweek人工智能网摘要&#xff1a;作为想要改变世界的科技界钢铁侠&#xff0c;谷歌自诞生起就发明无数。1999年&#xff0c;公司创始人拉里佩奇用导航地图开车载他同事经过一个停车场时突然想到&#xff1a;在线搜索也可以盈利。当时他认为&#xff0c;谷歌能…

php跳一跳小游戏,原生JS实现的跳一跳小游戏完整实例

本文实例讲述了原生JS实现的跳一跳小游戏。分享给大家供大家参考&#xff0c;具体如下&#xff1a;以下说的是闲暇编写的一个小游戏--跳一跳&#xff0c;类似于微信的跳一跳&#xff0c;大体实现功能有&#xff1a;1.先随机生成地图&#xff1b;2.按住按钮释放后完成动作并进行…

Google提出新型学习范式「Deep Memory」,或将彻底改变机器学习领域

图源&#xff1a;pixabay原文来源&#xff1a;arXiv作者&#xff1a;Sylvain Gelly、Karol Kurach、Marcin Michalski、Xiaohua Zhai「雷克世界」编译&#xff1a;嗯~是阿童木呀、KABUDA导语&#xff1a;最近&#xff0c;Google提出了一种称之为Deep Memory的新型学习范式&…

网络 IPC 套接字socket

APUE书中所有实例源码下载地址&#xff1a;http://www.apuebook.com apue学习笔记&#xff08;第十六章 网络IPC&#xff1a;套接字&#xff09;&#xff1a;https://www.cnblogs.com/runnyu/p/4648678.html 一起学 Unix 环境高级编程 (APUE) 之 网络 IPC&#xff1a;套接字…

ASP.NET MVC V2 Preview 1 发布 期望VS有更好的表现

ASP.NET MVC V2 Preview 1官方首页&#xff1a;http://aspnet.codeplex.com/ 在这里可以下载 以下是网友的转载&#xff0c;介绍的还是比较详细的&#xff1a; 预览版是在.NET 3.5 SP1和VS 2008下工作的&#xff0c;可与ASP.NET MVC 1.0并行安装在同一个机器上&#xff08;即&a…

全球最权威的区块链行业报告

来源&#xff1a;腾讯研究院美国加密货币报道媒体CoinDesk近期发布“全球区块链现状报告”&#xff0c;深入研究了快速发展的加密货币行业及其底层技术&#xff0c;该报告覆盖了公共区块链、企业区块链、ICO、投资以及监管等话题&#xff0c;另外还对3000多名投资者的加密货币投…

Google 的 C++ 代码规范

Google 开源项目风格指南 (中文版)&#xff1a;https://zh-google-styleguide.readthedocs.io/en/latest/ 英文版&#xff1a;http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml 中文版&#xff1a;http://zh-google-styleguide.readthedocs.org/en/latest/goog…

NASA投资有远景技术,有望改变未来人类和机器人的勘探任务

来源&#xff1a; 机器人创新生态据NASA官网报道&#xff0c;美国宇航局(NASA)正在投资有远见的技术概念&#xff0c;包括流星撞击探测、太空望远镜群以及细小轨道碎片测绘技术&#xff0c;这些技术将来可能被用于未来的太空探索任务中。美国宇航局已经选出25个还处于早期的技术…