Vim 插件管理工具 pathogen

Vim 插件管理工具 pathogenDaNmarner在HackerNews最近关于Vim插件的帖子回复中了解到一个叫做pathogen的Vim脚本,其作用是改善Vim管理插件的方式。试用过后发现pathogen果然强大。是以撰文分享。问题剖析可扩展性是优秀软件的重要特点之一,而Vim从Unix系统一路传成下来更是将可扩展性发挥到了极致。相信多数Vim的经验用户除了自己经精心

大家好,欢迎来到IT知识分享网。Vim

DaNmarner 在 Hacker News 最近关于 Vim 插件的帖子 回复中了解到一个叫做pathogen 的 Vim 脚本,其作用是改善 Vim 管理插件的方式。试用过后发现 pathogen 果然强大。是以撰文分享。

问题剖析

可扩展性是优秀软件的重要特点之一,而 Vim 从 Unix 系统一路传成下来更是将可扩展性发挥到了极致。相信多数 Vim 的经验用户除了自己经精心维护的.vimrc 配置文件之外更是有一个用起来得心应手的插件宝库,从而让 Vim 满足自己五花八门的使用需求。

Vim 大行其道,除了优秀插件众多之外的另一个因素是插件机制的简便易用。安装插件的方法无外乎一下载二解压,或者下载以后用运行 Vim 里的安装命令。没有特殊指定,插件都是装载~/.vim 目录之下。通过复制,symlink 甚至版本控制工具把这个目录备份一下,日后更是能在不同机器上瞬间找到熟悉的编辑环境。

可是时间一久,这个 ~/.vim 目录难免变得越来越臃肿,各类插件横七竖八的散落在那一个个autoloadftplugin,indentsyntax,doc 等目录里面不说,很多插件还我行我素的自己创建一堆私有目录,占山为王。等到你想删除或更新某某插件的时候,要么得去重新下载插件的压缩包,找到它的五脏六腑都安插在了什么位置,要么只能凭着瞎猜法门一个目录一个目录的去找来。

解决之道

pathogen 让每个插件占有一个单独的目录,解决插件文件分散的问题。安装了 pathogen 以后只要在~/.vim (注:MS Windows 下貌似是~\vimfiles,下同)里建立一个bundle 目录,然后把所有插件一一放在~/.vim/bundle/插件名 下面,就可以使用。插件的安装过程与没有 pathogen 时类似,但从安装结束开始,一切的插件管理过程都能得到简化。

试用过某个插件以后需要删除?安装在 bundle 目录里最后把插件的目录一删了之就行了。

想保持使用某个插件的最新版本?直接从插件的仓库 checkout 一份代码到 bundle 目录,或者别的地方再 symlink 一下就行了。

想了解一下这个插件的实现方法?有了 pathogen 去哪里找插件脚本再也不是问题了。

实战演练

pathogen 只有一个单独的脚本,所谓安装就是把它放在你的 ~/.vim/autoload 目录。

如果你有一个类 Unix 环境(Linux, Mac OS X),只需要下面这一条命令:

wget -O ~/.vim/autoload/pathogen.vim http://www.vim.org/scripts/download_script.php?src_id=12116

要启用它,还要在 .vimrc 文件里, filetype plugin indent on 之前的任何地方,加入下面这句:

call pathogen#runtime_append_all_bundles()

这样就搞定了,把常用的插件都重装在 ~/.vim/bundle 里面吧!DaNmarner 个人喜欢直接把插件从仓库里 checkout 出来,以后直接通过版本控制来更新 Vim 插件。以 NERDTree 这个插件为例,安装起来是这样的:

mkdir ~/.vim/bundle
cd ~/.vim/bundle
git clone http://github.com/scrooloose/nerdtree.git

更新到最新版本:

cd ~/.vim/bundle/nerdtree && git pull


删除该插件:

rm -rf ~/.vim/bundle/nerdtree

怎么样,有了 pathogen ,管理 Vim 插件是不是简单了很多? 

转自:http://blog.danmarner.com/me/entry/vim-pathogen/ 

参考:

http://ghosertblog.github.io/blog/2013/01/07/ubuntu-efficient-software/ 

http://lostjs.com/2012/02/04/use-pathogen-and-git-to-manage-vimfiles

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/14802.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信