天天看点

教你用NeoBundle管理Vim插件教你用NeoBundle管理Vim插件

我们为什么要使用插件管理器?vim 支持大量插件,但是由于它没有严格定义框架,插件的文件可以胡乱分布在不同目录下,导致用户管理起来会很困难(lctt:当然,前提是你有很多插件,还有点小小的强迫症,觉得理一理这些插件心里会舒服点)。而一款插件管理器能让管理变得简单许多。pathogen, vundle 和 neobundle 的工作就是为不同插件建立一个目录,然后将这些目录扔到 ~/.vim/bundle 目录下。这个文件整理方法可以让你方便彻底地删除插件,使用 'rm -rf <插件目录>' 或直接在文件管理器里面把插件所在的目录删除就可以了,绝对绿色环保无残留。同时,这种方法还能最大程度避免插件与插件之间的不兼容性。

教你用NeoBundle管理Vim插件教你用NeoBundle管理Vim插件

neobundle 是一个基于 vundle 的项目,如同 vundle,它们都可以安装和升级插件。然而 neobundle 的说明文件上明确指出:“neobundle 不是一个稳定的插件管理器,如果你想要一个稳定的,请选择 vundle”。最新的 release-note 上也有警告“可能会造成兼容性问题”——这是一个开发者写的注解,说明这个管理器还不能让人放心使用。

<a target="_blank"></a>

curl https://raw.githubusercontent.com/shougo/neobundle.vim/master/bin/install.sh | sh

你还需要修改 .vimrc 文件。neobundle 的 github 主页提供一个 .vimrc 范本,但是直接使用这个范本,neobundle 需要你安装5个可能不需要插件。如果不需要它们,你可以使用下面的最小配置:

if has('vim_starting')

set nocompatible

set runtimepath+=~/.vim/bundle/neobundle.vim/

call neobundle#begin(expand('~/.vim/bundle/'))

neobundlefetch 'shougo/neobundle.vim'

call neobundle#end()

filetype plugin indent on

上述配置的作用是:启动 neobundle 并且像其他插件一样升级自己。neobundle 默认从 github 下载并升级,如果你正好在使用 github,你只需要为这个插件指定维护者的用户名和路径。在上面的配置中,neobundlefetch 只需要指定为“shougo/neobundle.vim”,而不是完整的 github 路径。如果你想使用其他网站,比如是 subversion 或 mecurial 的网站,你就需要添加完整的 url。

如果你想安装其他插件,你可以使用下面的命令:

curl -k https://github.com/[项目维护者]/[插件路径] &gt; ~/.vim/bundle/[插件路径]

curl -k https://github.com/tpope/vim-abolish &gt; ~/.vim/bundle/abolish

如果要让它自动升级,在 neobundlefetch 那行下面添加一行:

neobundle 'tpope/vim-abolish'

再介绍一个小技巧:你可以为插件指定一个分支或版本号。什么意思?neobundle 只会使用这个插件的某个分支或版本,而忽略其版本更新。如果你使用的某个插件处于高速开发过程,你就可以使用这个技巧,避免用到有 bug 的插件版本。举个例子:

neobundle 'shougo/vimshell', { 'rev' : '3787e5' }

还有一个技巧:在 .vimtc 文件内添加一行关于“neobundlecheck”的属性。neobundle 会根据配置检查没安装的插件,并提示你安装它们。你也可以使用命令“:neobundleinstall”(lctt:这是要在 vim 编辑器的命令模式下输入)来安装或升级插件。

很多 neobundle 命令用起来和 vundle 类似,但命令的名字不一样。下面是 neobundle 命令的用法:

:neobundleupdate:安装或升级插件,如果你手动把一个插件的目录删除了,这个命令会重新安装这个插件。在这个命令后面加上插件名称,就只升级一个插件;不加参数,会将所有己安装但没被记录在案的插件给记录下来。:neobundleinstall 命令效果相同。

:neobundle {repository uri} [[revision}] [,options}]]:将一个插件锁定到固定版本,防止胡乱升级。

:neobundlelist:列出所有未初始化的插件。

:neobundleclean:进入交互界面,删除插件。

这些命令在配合 unite.vim (lctt:就是上面举过的32个例子之一)使用时,效果会稍微有些出入。你可以使用“:help neobundle”命令了解更多信息。

neobundle 是强大的工具,正处于高速开发状态。任何处于这种状态的项目,都会被帖上“有前途”和“不稳定”两个标签,看你自己怎么选。如果你想要最新的稳定版本的插件,neobundle 能够把 vundle 和 pathogen 甩出几条街。

然而在线帮助文档已经给出警告,它不是个稳定的产品,不及时更新版本可能造成一些插件运行出错。最后,你需要在 .vimrc 文件为你的 neoundle 和其他插件指定一个稳定的版本。记住这警告,然后你可以在使用这些尖端技术产品时游刃有余。

原文发布时间:2014-07-19

本文来自云栖合作伙伴“linux中国”

继续阅读