Emacs 24 looks like it will have包裹经理。 Vim有哪些包管理选项?
答案 0 :(得分:82)
答案 1 :(得分:35)
~/.vim
。安装插件后,很难更新,因为没有简单的方法可以删除过时的插件文件,这是必要的步骤。
一开始,我想列出一些关于如何使用精美插件管理工具的个人要求:
有很多实现(Vim-Scripts.org有comprehensive summary所有可用工具),我只会通过创建顺序来讨论几个主要工具。
vimball是解决问题的第一次尝试,实际上是一个半官方的解决方案,许多插件与*.vba
包一起提供了很长时间。结合GetLatestVimScripts,这形成了vim插件管理的传统方式。
尽管如此,问题仍然存在,直到Tim Pope的pathogen(Github Repo),它将每个插件放入自己的目录并通过修改“rtp”在启动时加载它们(runtimepath)“的vim,出现了。这是一个很好的进步 - 结合vim-scripts.org hosted by git/github和其他工具(例如vimmer),它形成了管理vim插件的现代方式。有很多文章和视频在讨论这个话题。
作为管理插件的插件,病原体仍然缺少一些核心功能,如搜索,安装,更新和删除插件。结果,VAM(Vim-Addon-Manager)(Github Repo)走了出来。 VAM几乎提供了插件管理器所需的一切:将插件文件放在自己的目录中,在vim启动时加载插件,在ex命令行中搜索/安装/更新/删除插件,用纯VimL编写,维护自己的插件中央信息数据库,甚至可以解决插件依赖关系。看起来VAM应该是我们作为一个功能齐全的vim插件管理器所需要的,但从我的观点来看,VAM采用的方法有点不优雅,有时候过度设计。虽然它仍然是一个很棒的插件,值得使用。
然后,Tom Link的tplugin(Github Repo)通过仅在调用相关命令或函数时加载插件来改善病原体,类似于AsNeeded。此外,它有某种依赖性解决机制,看起来不错。
Finnaly,Gmarik创建了Vundle(Github Repo),这是Tim Pope病原体的继承者,灵感来自Ruby的Bundler,它提供了更好的用户界面和额外的管理功能。 Vundle到Vim与Bundler和Ruby项目很相似。通过在vimrc中声明所需的插件,vundle通过ex命令行界面处理所有其余的插件,包括安装/更新和删除插件。最重要的是,vundle是在纯VimL中实现的。在vundle的帮助下,只需一个简单的vimrc文件即可在几台计算机上管理vim配置。作为一个现代的插件管理工具,vundle依赖于Git,可以直接从Github安装插件。 Vundle还提供了一个用于搜索和安装插件的精美交互式界面。
但是Vundle并没有完全满足我的要求,但它确实朝着正确的方向前进,这对我来说似乎是一个很好的起点。以下是VAM作者MarcWeber的a discussion和another comparison between vim plugin managers。
答案 2 :(得分:25)
还有pathogen.vim
http://www.vim.org/scripts/script.php?script_id=2332
虽然它不是你要求它提供了一种方法来管理你的github和bitbucket的结账。
这很好,因为它分离了插件的目录结构。因此,您可以签出插件的存储库并获得正确的版本控制,而不是依赖维护者来更新代码。此外,它不依赖于插件作者根据引用的其他选项设置/打包。
vim.org上有一些其他插件可以执行此任务,但目前我找不到它们
答案 3 :(得分:12)
我现在正在使用手工制作的设置,但我一直告诉自己有时候给这个镜头(链接都与同一个插件有关):
再一次,我自己还没有尝试过,但它看起来确实很有希望。
答案 4 :(得分:5)
Vim.org + Vimballs + GetLatestVimScripts目前以内置方式管理vim插件。
:h GetLatestVimScripts
关于它的坏事:
答案 5 :(得分:3)
答案 6 :(得分:3)
所有这些答案似乎都很老。如this answer to a similar question中所述,
Vim 8.0和Neovim都有自己的内置软件包管理器
根本不需要另一个插件管理器。
我已经使用了一年或两年,对我来说似乎很简单。
以下是有关其优势以及使用方法的一些资源:
答案 7 :(得分:2)
我写了一个名为“vimpyre”的工具,它可以使用GitHub服务搜索,安装,卸载,更新vim插件。 https://github.com/pct/vimpyre