2010-03-16 116 views
70

Emacs 24 looks like it will have一个包管理器。 Vim有哪些软件包管理选项?Vim的包(插件)管理

+1

这种情况下的包管理器是什么?像VimExplorer? – 2010-03-16 21:50:37

+0

将从中央存储库安装和管理第三方插件的东西。 – ntimes 2010-03-16 21:53:35

+1

好吧,vim有一个中央回购站(vim.org),一个包裹系统(vimballs)和脚本来检查你是否拥有最新的和最好的(其中有几个,现在不记得名字)......你还想要什么? :-) – Rook 2010-03-16 23:33:11

回答

12

我使用手工制作的设置现在,但我一直告诉自己的某个时候给这个一杆(链接都使用相同的插件做):

  1. vim-addon-manager:管理和轻松更新插件; Marc Weber的插件(@ vim.org)
  2. GitHub profile Marc Weber;他有许多VAM相关回购
  3. Vim-plugin-manager @ Vim的维基 - 页面的名称不同,但实际上同一插件再一次意味着

,我还没有真正尝试过这个自己但是,它看起来很有前景。

5

Vim.org + Vimballs + GetLatestVimScripts优先构建的方式来管理vim插件。

:h GetLatestVimScripts 

关于它的不好的事情:

  • 不支持Windows(的GetLatestVimScript调用了wget AFAIR)
  • vim.org有很多未GLVS和vimball里认识的插件。
+7

如果你已经能够安装Vim,你可以在Windows上安装wget在Windows上:) – wRAR 2010-03-17 06:48:02

25

还有pathogen.vim

http://www.vim.org/scripts/script.php?script_id=2332

虽然它不提供管理从GitHub的和到位桶的检出手段正是你问它。

这是很好的,因为它将插件的目录结构分开。因此,您可以检出插件的存储库并获得适当的版本控制,而不是依赖维护人员更新代码。它也不依赖于插件作者根据引用的其他选项设置/打包。

有执行此任务vim.org一些其他的插件,虽然我不能在我现在用的VimPlugmy own Vim中设置的那一刻

81

找到他们,我绝对推荐它。安装非常简单,而且速度快,非常有效!

VimPlug video

我曾经建议Vundle在这个答案。但Vundle不再维护,并有更好的选择。

+0

作者停止维护vundle http://gmarik.info/blog/2014/02/04/why-i-stopped-contributing-to-vundle。你仍然可以在github上看到贡献,但也许有人更有知识可以评论vundle的未来。 – 2014-06-23 21:59:36

+0

他似乎有些恼火,NeoBundle大多只是复制他的代码而不是制作叉子。但如果他不再维护它,也许NeoBundle会接管? – Jostein 2014-06-25 23:50:49

+0

GitHub回购对我来说似乎很活跃。另外,在更新中的链接评论中,似乎有人加紧提供帮助。 – 2014-08-10 16:37:41

2

我写了一个名为“vimpyre”的工具,它可以使用GitHub服务搜索,安装,卸载,更新vim插件。 https://github.com/pct/vimpyre

+3

FWIW,vimpyre在github转移到新的API后不再有效。他们也对速率限制和封锁非认证API查询非常吝啬.. :( – synthesizerpatel 2013-02-12 09:11:26

33

针对vim的插件管理通过在整个个人vim运行时目录中传播插件文件而成为传统方式中的一种痛苦,例如。 * nix系统的~/.vim。一旦安装了插件,很难更新,因为没有简单的方法来删除过时的插件文件,这是必要的步骤。

在开始的时候,我想列出有关罚款的插件管理工具应该怎么做我的个人要求:

  1. 应当用纯VimL
  2. 应安装插件到自己的目录
  3. 应自动加载插件Vim启动时,很高兴加载按需要
  4. 应具有安装,更新和删除插件
  5. 最好有一个内置方法的内置方法搜索插件需要
  6. 应能在文件中声明插件需要
  7. 不错的依赖解决机制

有很多实现那里的(Vim-Scripts.org具有的所有可用工具comprehensive summary)我只会按照他们的创建顺序来讨论几个主要的工具。

vimball是第一次尝试解决这个问题,实际上它是一个半官方的解决方案,很多插件随着*.vba封装一起发货很长时间。结合GetLatestVimScripts,这形成了vim插件管理的传统方式。

即使这样,这个问题仍然存在,直到VIM的Tim PopepathogenGithub Repo),其中每个插件放到自己的目录,并加载它们在通过修改启动‘RTP(runtimepath)’出现了。这是一个伟大的进步 - 结合vim-scripts.org hosted by git/github和其他工具(例如vimmer),它形成了管理vim插件的现代方式。有很多关于这个话题的文章和视频。

作为该管理插件插件,病原体仍然缺少一些核心功能如搜索,安装,更新和删除的插件。因此,VAM(Vim-Addon-Manager)Github Repo)走出。 VAM提供了插件管理器所需的几乎所有东西:将插件文件放在自己的目录中,在vim启动时加载插件,在ex命令行中搜索/安装/更新/删除插件,用纯VimL编写,维护自己的插件中央信息数据库,甚至可以解决插件依赖关系。看起来VAM应该是我们需要的一个全功能的vim插件管理器,但从我的角度来看,VAM所采用的方法有点不雅,有时还会过度设计。虽然它仍然是一个很棒的插件,值得使用。

然后,Tom Link的tpluginGithub Repo)通过仅在调用相关命令或函数时才加载插件来改进病原体,类似于AsNeeded。此外,它有一些似乎很好的依赖解决机制。

Finnaly,Gmarik创建VundleGithub Repo),这是添教皇的病原体的灵感后继从Ruby的Bundler,它提供了一个更好的用户接口和附加管理功能。 Vim的Vundle和Bundler的Ruby项目非常相似。通过在vimrc中声明所需的插件,vundle通过ex命令行界面处理所有其余的事情,包括安装/更新和删除插件。最重要的是,vundle是在纯VimL中实现的。在vundle的帮助下,可以通过一个简单的vimrc文件来管理几台计算机上的vim配置。作为一种现代插件管理工具,vundle依赖于Git,并且可以直接从Github安装插件。 Vundle还提供了一个用于搜索和安装插件的奇特交互式界面。

Vundle虽然没有完全满足我的要求,但它确实朝着正确的方向前进,这对我来说似乎是一个很好的起点。

这里有a discussionanother comparison between vim plugin managers由VAM的作者MarcWeber。

+2

下面这个伟大的答案,[Neobundle](https://github.com/Shougo/neobundle.vim)似乎是合乎逻辑的进化来自Vundle – 2013-05-02 10:00:18

+0

伟大的有一些vim软件包管理器已经发展的历史 - 非常有用,并且很高兴我使用Vundle,因为我没有复杂的需求。 – RichVel 2016-03-13 07:49:56

+0

@RichVel,相反,我很高兴我使用VAM ,因为我有一个*非常*复杂的要求:我希望日常使用它非常简单,添加新插件非常简单,因为他们没有准备好索引([VIM-π](HTTPS://到位桶。org/vimcommunity/vim-pi)) – jpaugh 2017-02-15 04:08:12

3

退房NeoBundle,vim的最终包管理器。这是一个Vundle的分支。

+4

这两者之间有什么区别? – 2013-12-05 23:28:48

+0

来自NeoBundle的自述文件:“NeoBundle上的主动发展已经停止,未来唯一的变化就是bug修复。” – icc97 2017-09-07 14:02:48