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

Vim 插件管理工具 pathogen相关推荐

  1. Vim插件管理工具Vundle以及常用插件

    1. Vim插件管理工具Vundle 虽然拥有大量的插件,却缺少一个 确之有效的插件管理器.所幸,Vundle的出现解决了这个问题. Vundle可以让你在配置文件中管理插件,并且非常方便的查找.安装 ...

  2. linux安装vim plug,VIM 插件管理工具 vim-plug 简明教程

    作为 VIM 的重度患者, 一款好用的插件管理工具显得尤为重要, 毕竟给 VIM 增加新功能, 或者是新增编程语言的支持都需要安装插件. 我个人目前安装了 133 款 VIM 插件. 我使用的 VIM ...

  3. vim插件管理工具Vundle的安装与配置

    1. 创建目录,git下载Vundle插件 mkdir -p ~/.vim/bundle git clone https://github.com/VundleVim/Vundle.vim.git ~ ...

  4. linux vim 插件管理,linux: vim插件管理

    gmarik/Vundle.vim是目前被推荐次数更多的Vim插件管理器,超过了pathogen.这里我们 就用vundle来作为Vim的插件管理工具. 1.安装Vundle.vim Vundle.v ...

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

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

  6. VIM妙用及linux使用技巧(包括vim插件管理器、指令与键盘映射、打开多个文件、奇偶删除行、vim替换等)

    前言 vim 是个非常高效.非常好用的工具,很多人一旦开始使用 Vim 之后就再也无法自拔.然而, Vim 仍然有其自身缺陷,对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性,同时,为了展 ...

  7. 【追加功能】OFFICE插件管理工具重整后再上路,更好用易用。

    现在使用OFFICE插件的群体越来越多,在8月份修复过的[OFFICE插件管理工具],尝试将COM加载项的插件管理进行完善. 但仍然有一小部分普通加载项的管理未能加到里面.特别是近期用户反馈到的Eas ...

  8. [工具]OFFICE插件管理工具-帮助更好地管理及使用电脑安装过的OFFICE插件

    在OFFICE软件的世界中,除了由微软提供的OFFICE软件功能外,还有大量的功能由第三方开发者完成,市面上也存在大量的OFFICE插件供用户选择. 使用场景 有些插件仅在某个特定场景下才会使用,日常 ...

  9. cad小插件文字刷_小懒人CAD插件管理工具

    小懒人cad插件管理工具是一款CAD插件管理软件,可以帮助用户管理CAD插件,不需要单个安装,支持一键加载,小懒人CAD插件管理软件不需要安装,下载即可使用.有需要的小伙伴欢迎来西西下载. 软件特征: ...

  10. vim插件管理器minpac安装及使用

    文章目录 写在前面 安装与配置 插件的安装与删除 安装插件 更新插件 删除插件 自定义命令 示例:`pydiction`补全插件的安装与使用 写在前面 本文介绍一下安装Vim插件管理器minpac的方 ...

最新文章

  1. visio 2010下载
  2. DIY华丽的放电效果!自制雅各布天梯的配置方案
  3. Python入门练习题目
  4. NOSQL系列-Redis精简版安装与Ruby测试
  5. 亚信联创java面试题_亚信联创面试题及答案
  6. 网络解析(一):LeNet-5详解
  7. opencv-api minEnclosingCircle
  8. HDU 5975 2016ICPC大连 E: Aninteresting game(树状数组原理)
  9. Atitti 过程导向 vs 结果导向 attilax的策略
  10. Postman写接口文档
  11. 手机vnc远程控制软件,2步完成手机vnc远程控制软件的安装和使用
  12. Go Playground exercise
  13. 计算机真有趣作文,这真有趣作文(共6篇)
  14. 数字逻辑电路(1)--逻辑代数基础
  15. 贸易合规服务市场现状研究分析报告 -
  16. pyplot中文手册_matplotlib手册(1)-pyplot使用
  17. 建筑CAD基础设计【3】
  18. 一沉担千斤,一默解万愁
  19. ATH9K Driver Learning Part II: Important Transmission Functions
  20. 利用mysql模拟银行转账_实践项目七:模拟银行转账系统(python+mysql)

热门文章

  1. LeetCode第82场双周赛
  2. 《Python机器学习基础教程》官方中文PDF+英文PDF+源代码 (张亮译)
  3. 菜鸟的Springboot学习日历(一)
  4. android 18x games,Roadgames
  5. 《玩透嵌入式C的角角落落》当你需要循环体至少执行一次时,选择do
  6. 年轻人要明白,职场里不只有晋升
  7. 输入国家名按字典顺序进行排序
  8. 机房环境监控报警系统
  9. 从跨境电商方向选择谈起
  10. python换源之pip.conf