-
Notifications
You must be signed in to change notification settings - Fork 39
Comparisons
Paq is very limited in scope. If you think Paq doesn't have all the features you need or if you need Vim 8 compatibility, consider trying other package managers.
There are many Neovim package managers out there. For brevity's sake, only the two most commonly used are listed here.
Packer.nvim is another package manager written in Lua. It provides extensive configuration options for lazy loading, dependency management, and many other features that are seldom found in other (Neo)vim package managers.
Packer uses Lua to add better package management features, whereas Paq is more about removing the cruft from previous Vim package managers.
If you only use your package manager for cloning things from GitHub, both Paq and Packer will work fine. If you need specific configuration options, Packer is a better alternative for you.
Vim-plug has been the most popular Vim 8 manager for a while. Paq was inspired by Vim-plug but feature parity is not an objective. In fact, one of the original motivations for writing Paq was the fact that Vim-plug provides too many ways to do certain operations. Vim-plug has five different ways to do concurrent installs, that may or may not work depending on your Vim version. Paq has only one that is always supported by Neovim.
If you need Vim 8 compatibility, or if you don't want to write your configuration in Lua, Vim-plug is a better alternative for you.
You can move your packages manually, or reinstall them with Paq. Both Vim-plug and Paq handle packages as git repositories, so there shouldn't be any issues.
Vim-plug puts packages in it's own custom directory, you can see where calling:
:echo stdpath('data') .. '/plugged'
If you decide to move your packages manually, you'll have to split your packages
into the start
and opt
directories, Paq can't do that for you.
See :h paq-directory
and :h packages
for more information.
In your config, what you would write in a Vim-script file like this:
" VimL + Plug
call plug#begin('~/.vim/plugged')
Plug 'neoclide/coc.nvim', {'branch':'release'}
call plug#end()
Would be written in a lua file like this:
-- Lua + Paq
require 'paq-nvim' {
'paq-nvim';
{'neoclide/coc.nvim', branch='release'};
}
Note that Paq takes a single list instead of multiple Plug
calls,
braces also enclose the name of the repository,
options use an equals sign instead of a colon,
and the keys don't need quotes.