Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsJul 16, 2026·3 min de lecture

vim-plug — Minimalist Vim Plugin Manager

Fast parallel plugin installer for Vim and Neovim with lazy loading, branch/tag pinning, and on-demand hooks.

Prêt pour agents

Installation avec revue préalable

Cet actif nécessite une revue. Le prompt copié demande un dry-run, affiche les écritures, puis continue seulement après confirmation.

Needs Confirmation · 64/100Policy : confirmer
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
vim-plug Overview
Commande avec revue préalable
npx -y tokrepo@latest install 6385b3a9-8135-11f1-9bc6-00163e2b0d79 --target codex

Dry-run d'abord, confirmez les écritures, puis lancez cette commande.

Introduction

vim-plug is a minimalist plugin manager for Vim and Neovim. It downloads and updates plugins in parallel, supports lazy loading to keep startup fast, and requires only a single file to install. Its simple declarative syntax in vimrc makes managing dozens of plugins straightforward.

What vim-plug Does

  • Installs, updates, and removes Vim/Neovim plugins from GitHub or any Git URL
  • Downloads plugins in parallel using job control for fast installs
  • Supports on-demand lazy loading by filetype, command, or mapping
  • Pins plugins to specific branches, tags, or commits
  • Runs post-install hooks for plugins that need compilation

Architecture Overview

vim-plug is a single VimScript file dropped into the autoload directory. When plug#begin() and plug#end() are called, it registers plugin specifications. :PlugInstall and :PlugUpdate spawn parallel Git clone or pull operations using Vim 8 or Neovim job control. Lazy-loaded plugins are added to the runtime path only when their trigger condition fires.

Setup & Configuration

  • Download plug.vim to ~/.vim/autoload/ (Vim) or ~/.local/share/nvim/site/autoload/ (Neovim)
  • Declare plugins between plug#begin('~/.vim/plugged') and plug#end() in your vimrc
  • Use Plug 'owner/repo', { 'branch': 'main' } to pin to a specific branch
  • Use { 'on': 'NERDTreeToggle' } or { 'for': 'python' } for lazy loading
  • Run :PlugClean to remove plugins no longer listed in your config

Key Features

  • Single-file installation with no dependencies beyond Git
  • Parallel downloads via Vim 8 / Neovim job control
  • On-demand loading by command, filetype, or key mapping
  • Shallow clone by default to minimize disk and network usage
  • Rollback support via :PlugDiff and :PlugSnapshot

Comparison with Similar Tools

  • lazy.nvim — Neovim-only with Lua config and automatic lazy loading, vim-plug works with both Vim and Neovim
  • Vundle — sequential installs, vim-plug is parallel and faster
  • Pathogen — no install/update commands, vim-plug manages the full lifecycle
  • packer.nvim — Lua-based and archived, vim-plug is actively maintained VimScript

FAQ

Q: Does vim-plug work with Neovim? A: Yes. It supports both Vim 8+ and Neovim with the same syntax.

Q: How do I update all plugins? A: Run :PlugUpdate inside Vim. It pulls changes for all registered plugins in parallel.

Q: Can I use vim-plug with Lua-based Neovim configs? A: Yes. Call vim-plug functions from Lua with vim.call('plug#begin') and vim.cmd('Plug ...').

Q: What happens if a plugin install fails? A: vim-plug shows errors in its status window. You can retry with :PlugInstall or check the log with :PlugStatus.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires