vi, получив несколько «Извините, команда недоступна в этой версии…» после переустановки

49

Из моего .vimrc получаю:

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()

Я могу удалить строки, но я бы предпочел знать, что мне действительно не хватает, или мне нужно обновить его, так как этот файл работал для меня раньше.

Майкл Даррант
источник
1
Я использую Debian, а не Ubuntu, так что это может не применяться. В Debian Jessie vim-tinyпо умолчанию устанавливается скиновый пакет, который не включает этот vim-runtimeпакет. Я исправил свои E319, установив более раздутый vimпакет, который имеет vim-runtimeзависимость.
НоваДенизен
1
Я попал сюда из-за той же проблемы. Основываясь на правильном ответе, я обнаружил, что vimне был установлен, но viбыл. После установки vimвсе заработало.
Jelmer
В моем случае :versionничего не говорится о графическом интерфейсе, и установка -gui-commmon или -runtime не решает проблему, она была~/.vimrc включена .
Пабло А

Ответы:

78

Попробуй изнутри vim...

:version

и если вы получите ...

Small version without GUI.

Вы пропустили посылку vim-gui-common. Вероятно, также целесообразно установить vim-runtime. Команды для установки:

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

Другая причина может заключаться в том, что альтернативы указывают на неправильную:

update-alternatives --display vim

чтобы показать, что используется и ...

update-alternatives --config vim

изменить на другой VIM. Может быть, /usr/bin/vim.gnomeэто используется и вам нужно/usr/bin/vim


редактировать: Майкл Даррант исправил это с # 1 на случай, если кто-то задается вопросом.

Rinzwind
источник
+1 к ответу, спасибо, исправил и для меня (на предоставляемой puphpet.com виртуальной машине под управлением Ubuntu 12.04 LTS 64bit): команды, упомянутые в ответе выше: 1) sudo apt-get install vim-gui-commonзатем 2) sudo apt-get install vim-runtimeисправили это для меня - то есть E319: Sorry, the command is not available in this version:ошибок больше нет , На самом деле, 1) это было исправлением, действительно при выдаче команды 2) Я получил сообщения о том, что вещи уже были обновлены: ...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.
therobyouknow
1
Если вы не хотите , графический интерфейс, вы можете просто sudo apt-get install vim-nox(и затем: версия будет сообщать Huge version without GUI.)
ysth
8

Возможно, у вас не установлена ​​полная версия VIM. Чтобы проверить, попробуйте выполнить vimили:

readlink -f `which vi`

Например, Ubuntu 16.04 LTS поставляется только с /usr/bin/vim.tiny

Установите полный VIM:

sudo apt update
sudo apt install vim

Теперь вы должны иметь /usr/bin/vim.basic, и .vimrcкоманды должны быть успешными.

wisbucky
источник
Это работало для меня на Linux Mint, а лучший ответ - нет.
adrianmc
6

Если это началось после того, как вы обновились до 16.04, это может быть b / c перехода на python 3 в качестве интерпретатора по умолчанию, как указывал @ luka5z.

Чтобы решить эту проблему, я обновил файл clang-format.py до последней версии с сайта https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/clang-format.py.

и отредактировал строки .vimrc из:

" 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>

чтобы:

" 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>
Даниил
источник
2

Для меня мне пришлось установить vim.nox-py2:

aptitude install vim-nox-py2

и используйте update-альтернативы, чтобы активировать его:

update-alternatives --config vim

выберите номер, соответствующий vim.nox-py2.

давим
источник
Следует отметить, что это на 16.04. В Vim в Ubuntu раньше был включен только python2, теперь он поддерживает python3 и python2 в отдельном пакете.
Муру
3
Python3 является интерпретатором по умолчанию для Ubuntu 16.04. Если это сообщение появляется в результате использования pyкоманды, замените его на эквивалент Python 3 py3.
luka5z
@ luka5z Ваш комментарий - самая полезная вещь, которую я нашел на этой странице!
e4c5