vi, getting multiple "Sorry, the command is not available in this version..." after reinstall

67,876

Solution 1

Try from within vim ...

:version

and if your get ...

Small version without GUI.

You are missing package vim-gui-common. It is probably also advisable to install vim-runtime. Commands to install:

sudo apt-get install vim-gui-common
sudo apt-get install vim-runtime

Another cause might be that alternatives is pointing to the wrong one:

update-alternatives --display vim

to show what is used and ...

update-alternatives --config vim

to change to another vim. It could be that /usr/bin/vim.gnome is used and you need /usr/bin/vim


edit: Michael Durrant fixed it with #1 in case anyone wonders.

Solution 2

You probably don't have the full version of VIM installed. To check, try executing vim or:

readlink -f `which vi`

For example, Ubuntu 16.04 LTS only came with /usr/bin/vim.tiny

Install the full VIM:

sudo apt update
sudo apt install vim

Now you should have /usr/bin/vim.basic, and the .vimrc commands should succeed.

Solution 3

If this started after you've updated to 16.04, it might be b/c of the change to python 3 as the default interpreter as @luka5z pointed out.

To resolve, I updated to the latest clang-format.py file from https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/clang-format.py

and edited .vimrc lines from:

" Add hook for clang-format
map <C-K> ggVG :pyf /usr/local/bin/clang-format.py<cr>
imap <C-K> <c-o>:pyf /usr/local/bin/clang-format.py<cr>

to:

" Add hook for clang-format
map <C-K> ggVG :py3f /usr/local/bin/clang-format.py<cr>
imap <C-K> <c-o>:py3f /usr/local/bin/clang-format.py<cr>

Solution 4

If you got the error by running other command like crontab -e, the reason is you need to select vim as your editor. Default nano will be used. So just run select-editor, and select vim, then the problem will be solved.

Solution 5

For me I had to install vim.nox-py2:

aptitude install vim-nox-py2

and use update-alternatives to activate it:

update-alternatives --config vim

select the number corresponding to vim.nox-py2.

Share:
67,876

Related videos on Youtube

Michael Durrant
Author by

Michael Durrant

Updated on September 18, 2022

Comments

  • Michael Durrant
    Michael Durrant over 1 year

    From my .vimrc, getting:

    line   16:
    E319: Sorry, the command is not available in this version: filetype on
    line   17:
    E319: Sorry, the command is not available in this version: filetype plugin on
    line   18:
    E319: Sorry, the command is not available in this version: filetype indent on
    line   21:
    E319: Sorry, the command is not available in this version: syntax on
    line   45:
    E319: Sorry, the command is not available in this version: match ExtraWhitespace /\s\+$/
    line   46:
    E319: Sorry, the command is not available in this version: autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
    line   47:
    E319: Sorry, the command is not available in this version: autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
    line   48:
    E319: Sorry, the command is not available in this version: autocmd InsertLeave * match ExtraWhitespace /\s\+$/
    line   49:
    E319: Sorry, the command is not available in this version: autocmd BufWinLeave * call clearmatches()
    

    I can remove the lines, but I would rather know what I am really missing or need upgrading that is causing this as this file worked for me before.

    • NovaDenizen
      NovaDenizen almost 8 years
      I'm using debian, not ubuntu, so this may not apply. On debian jessie, the skinny vim-tiny package is installed by default, which does not include the vim-runtime package. I fixed my E319's by installing the more bloated vim package, which has vim-runtime as a dependency.
    • Jelmer
      Jelmer over 7 years
      I got here because of the same problem. Based on the correct answer, I found out vim wasn't installed, but vi was. After installing vim everything worked.
    • Pablo Bianchi
      Pablo Bianchi about 6 years
      In my case :version doesn't say anything about GUI and installing -gui-commmon or -runtime doesn't fix the problem, it was on ~/.vimrc.
  • therobyouknow
    therobyouknow almost 10 years
    +1 on the answer, thanks, fixed for me too (on a puphpet.com-provisioned VM running Ubuntu 12.04 LTS 64bit): the commands mentioned in the answer above: 1) sudo apt-get install vim-gui-common then 2) sudo apt-get install vim-runtime fixed it for me - i.e. no more E319: Sorry, the command is not available in this version: errors. In fact, 1) was the fix, really when issuing command 2) I got messages saying things were already up to date: ...vim-runtime is already the newest version. vim-runtime set to manually installed. 0 upgraded, 0 newly installed, 0 to remove and 59 not upgraded.
  • muru
    muru about 8 years
    To be noted that this is for 16.04. Vim on Ubuntu used to have only python2 enabled, now it's python3-enabled and python2 ones in a separate package.
  • luka5z
    luka5z over 7 years
    Python3 is default interpreter for Ubuntu 16.04. If this message appears as a result of using py command, replace it by Python 3 equivalent py3.
  • e4c5
    e4c5 over 7 years
    @luka5z your comment is the most usefull thing I found o this page!
  • adrianmc
    adrianmc over 6 years
    This worked for me on Linux Mint while the top answer did not.
  • Doktor J
    Doktor J almost 4 years
    Thank you for this. vim-gui-common wants to install a bunch of useless cruft that would eat another 143MB of disk space -- which is important when I'm trying to build a <1GB live image.
  • user217019
    user217019 over 3 years
    vim-gui-common worked for me and fixed the up/down arrow issue when editing.
  • Dave C
    Dave C almost 3 years
    This worked for me on a headless raspberry pi. I think this is a simpler solution than the accepted answer and the original question does not reference a GUI installation.