Stupidly Simple Vim/NeoVim Plugin Manager
Pull documentation when upgrading pm
Add ClonePlugin command
Added installation instructions for pm docs


browse  log 



You can also use your local clone with git send-email.


A stupidly simple Vim/NeoVim plugin manager


Vim and NeoVim now have plugin management builtin so I have no need for a "bloated" plugin manager that is thousands of lines long. All I need is a Vim/NeoVim script that will download and update my plugins.




curl -fLo ~/.vim/plugin/pm.vim --create-dirs https://git.sr.ht/~bpv/pm/blob/master/pm.vim
#Documentation for Vim
curl -fLo ~/.vim/doc/pm.txt --create-dirs https://git.sr.ht/~bpv/pm/blob/master/pm.txt
vim -c "helptags ~/.vim/doc | q"


sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/plugin/pm.vim --create-dirs https://git.sr.ht/~bpv/pm/blob/master/pm.vim'
#Documentation for NeoVim
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/doc/pm.txt --create-dirs https://git.sr.ht/~bpv/pm/blob/master/pm.txt'
nvim -c "lua dir = os.getenv('XDG_DATA_HOME') or os.getenv('HOME') .. '/.local/share' ; vim.cmd('helptags ' .. dir .. '/nvim/site/doc') ; vim.cmd(':q!')"


Create plugin list


In your .vim file (Vim) or init.vim (NeoVim) file create a list variable named g:plugins. This is where you will list the Git urls of all the plugins that you want to download.

let g:plugins = ["https://github.com/ap/vim-css-color.git", "https://git.sr.ht/~k1nkreet/gemivim"]


  • :DownloadPlugins: Downloads all plugins from their Git repos
  • :ClonePlugin "url": Downloads plugin from specified url but does not add it to g:plugins
  • :UpdatePlugins: Updates all installed plugins
  • :PurgePlugins: Removes all plugins not defined in g:plugins
  • :UpdatePM: Downloads and updates pm