1

I'm trying to install the last version of netrw, which is distributed as a vimball file, but can't find the way of doing it in Neovim. So far I've tried:

  1. Unzip the file
  2. Run:
:packadd vimball
  1. Inside neovim, moved to the directory where the netrw.vba file is and run:
:vim netrw.vba

But I get the error message:

E683: File name missing or invalid pattern

My question is, does Neovim really has support to install vimball files? If so, how?

2

The problem you're having is with your step 3. You need to open the vimball file in NeoVim and the command to do so is :e and not :vim.

:vim is actually a shorthand for :vimgrep, that's why your error message is talking about "invalid pattern", it's expecting at least two arguments, one pattern and one base path where to run a recursive grep.

After loading the vimball package with :packadd vimball and opening the netrw vimball with :e netrw.vba, all you need is to run it with :so % to install it.


By default, the vimball plug-in will unpack the plug-in files directly under your ~/.config/nvim. That's the older scheme pre-Pathogen where you would merge all the plug-in files into a single directory, rather than update 'runtimepath' to include the root directory of each of your plug-ins.

If you want to unpack the vimball into an alternate location, you can also call :UseVimball directly instead of calling :so % after opening the *.vba inside NeoVim/Vim.

For example, to turn the netrw vimball into a NeoVim package:

:!mkdir -p ~/.local/share/nvim/site/pack/netrw/start/netrw
:UseVimball ~/.local/share/nvim/site/pack/netrw/start/netrw

(For Vim, you can do the same, just use ~/.vim/pack on Linux/Mac/Unix or $HOME/vimfiles/pack on Windows as the base package directory.)

| improve this answer | |
  • Thanks, that did it. By any chance do you know where is the package installed, and if there's a way I can control that? – Bobby Wan-Kenobi Apr 24 at 9:35
  • @BobbyWan-Kenobi Just updated the answer to include information on where it's installed by default and instructions on how to install it to a different location, for example turning it into a NeoVim package. – filbranden Apr 24 at 14:17
  • If you want to reinstall it as a package, you can use :RmVimball to first uninstall it from your main nvim directory. You need to open the *.vba file first to do so, then run the :RmVimball command from there. – filbranden Apr 24 at 14:18
  • 1
    Great update, I've been reading on my own and tried a variation of your solution: I used ~/.local/share/nvim/site/pack as a base directory, which successfully installed the plugin. But :RmVimball doesn't work no matter which of these two directories the plugin is installed. Apparently the file ~/.config/nvim/.VimballRecord should keep track of the files that are installed with any vimball, so they can be removed after. But this file is empty, and :RmVimball throws: ***vimball*** (RmVimball) unable to find <netrw.vba.gz> in .VimballRecord – Bobby Wan-Kenobi Apr 24 at 15:19
  • 1
    Yeah, mostly empty, and I wanted to keep it that way )) What I found, it's that contrary to the manual page, another .VimballRecord file is created and updated at the end of this path, next to the plugin folder, and it's correctly updated with the paths to whatever is installed. So I wonder if :RmVimball is intended to be used another way? – Bobby Wan-Kenobi Apr 24 at 15:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.