Vim的包(插件)管理

时间:2010-03-16 21:45:51

标签: vim packages vi vim-plugin package-managers

Emacs 24 looks like it will have包裹经理。 Vim有哪些包管理选项?

8 个答案:

答案 0 :(得分:82)

我现在使用VimPlug进行my own Vim设置,我绝对推荐它。安装非常简单,快速,漂亮,有效!

VimPlug video

我曾经在这个答案中推荐Vundle。但Vundle已不再维护,并且有更好的选择。

答案 1 :(得分:35)

通过在整个个人vim运行时目录中传播插件文件,vim的插件管理曾经是传统方式的痛苦,例如。 * {nix系统~/.vim。安装插件后,很难更新,因为没有简单的方法可以删除过时的插件文件,这是必要的步骤。

一开始,我想列出一些关于如何使用精美插件管理工具的个人要求:

  1. 应以纯VimL
  2. 编写
  3. 应将插件安装到自己的目录中
  4. 在vim启动时自动加载插件,很好地根据需要加载
  5. 应具有安装,更新和删除插件的内置方法
  6. 很高兴有一个内置的搜索方法需要插件
  7. 应该能够在文件中声明所需的插件
  8. 很高兴有依赖性解决机制
  9. 有很多实现(Vim-Scripts.orgcomprehensive summary所有可用工具),我只会通过创建顺序来讨论几个主要工具。

    vimball是解决问题的第一次尝试,实际上是一个半官方的解决方案,许多插件与*.vba包一起提供了很长时间。结合GetLatestVimScripts,这形成了vim插件管理的传统方式。

    尽管如此,问题仍然存在,直到Tim PopepathogenGithub 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的tpluginGithub Repo)通过仅在调用相关命令或函数时加载插件来改善病原体,类似于AsNeeded。此外,它有某种依赖性解决机制,看起来不错。

    Finnaly,Gmarik创建了VundleGithub 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 discussionanother 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)

我现在正在使用手工制作的设置,但我一直告诉自己有时候给这个镜头(链接都与同一个插件有关):

  1. vim-addon-manager:轻松管理和更新插件; Marc Weber的插件(@ vim.org)
  2. 马克韦伯的
  3. GitHub profile;他有一些与v-a-m相关的回购
  4. Vim-plugin-manager @ Vim wiki - 页面名称不同,但实际上是相同的插件
  5. 再一次,我自己还没有尝试过,但它看起来确实很有希望。

答案 4 :(得分:5)

Vim.org + Vimballs + GetLatestVimScripts目前以内置方式管理vim插件。

:h GetLatestVimScripts

关于它的坏事:

  • 不支持Windows(GetLatestVimScripts使用wget AFAIR)
  • vim.org有很多不是GLVS和Vimball意识的插件。

答案 5 :(得分:3)

查看NeoBundle,vim的终极软件包管理器。它是Vundle的分支。

答案 6 :(得分:3)

所有这些答案似乎都很老。如this answer to a similar question中所述,

Vim 8.0和Neovim都有自己的内置软件包管理器

根本不需要另一个插件管理器。

我已经使用了一年或两年,对我来说似乎很简单。

以下是有关其优势以及使用方法的一些资源:

答案 7 :(得分:2)

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