JohnGH
JohnGH

Reputation: 843

gVim error on startup: E121: Undefined variable: paste#paste_cmd

In gvim 8.1.1401 on Debian 10.4 when I open a file from Thunar with Right-click -> Open With -> Open with "gVim"

I have been getting an error popup:

Error

Error detected while processing /usr/share/vim/vim81/menu.vim:
line  166:
E121: Undefined variable: paste#paste_cmd

[OK]

gVim Error message E121: Undefined variable: paste#paste_cmd

When I open the same file from the command line with gvim /path/to/file it doesn't happen.

I don't get it launching normal vim from the command line either.

I tried uninstalling and re-installing all of my vim packages, in case it was picking up incompatible files from an old version. This didn't help.

Upvotes: 1

Views: 993

Answers (1)

JohnGH
JohnGH

Reputation: 843

I googled for the error and found various clues:

They pointed me in the right direction to find it, i.e. an invalid runtimepath in ~/.vimrc, but were not the exact same error and didn't detail the solution I discovered.

By editing my ~/.vimrc and trying different things I tracked down the cause.

Because I couldn't find the answer online I'm sharing it here.

If you have: set runtimepath= in ~/.vimrc AND if that line does not include /usr/share/vim/vim81 then you will get the error.

  • If you don't have a ~/.vimrc you won't get the error.
  • If you don't have a runtimepath= entry you won't get the error.
  • If ~/.vimrc has a runtimepath= entry and it includes /usr/share/vim/vim81 in the path, then you won't get the error.

If this is still an issue in future versions of vim after 8.1 which doesn't have the vim81 directory, then the numbers will need to be updated to point to a valid directory for that version e.g. vim82 (or later)

NB: If the runtimepath in ~/.vimrc is correct, but vim81/autoload/paste.vim does not exist you will also get the error.

If vim81/autoload/paste.vim does exist, but the paste_cmd is commented out/deleted/corrupted, you will get the error (and an instance of it from each entry in vim81/autoload/paste.vim and any other files which refer to paste_cmd)

I hope this saves people time and prevents frustration!

Upvotes: 1

Related Questions