vi, получая несколько "Извините, команда недоступна в этой версии..." после переустановки

Из моего.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()

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

7 ответов

Решение

Попробуй изнутри 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 на случай, если кто-то задается вопросом.

Возможно, у вас не установлена ​​полная версия 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 Команды должны быть успешными.

Если это началось после того, как вы обновились до 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>

Если вы получили ошибку, выполнив другую команду, например crontab -e, причина в том, что вам нужно выбрать vim в качестве редактора. Будет использоваться nano по умолчанию. Так что просто запустите select-editor и выберите vim, тогда проблема будет решена.

В моем случае проблема заключалась в том, что у меня был файл ~/.selected_editor с содержанием:

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"

Я повторяю select-editor команда и выбранный /usr/bin/vim.basic option - это изменило редактор, используемый внешними программами.

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

aptitude install vim-nox-py2

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

update-alternatives --config vim

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

Проверьте, установлена ​​ли у вас нормальная версия VIM, используяvim --versionкак более подробно описано здесь. Мне довелось открыть файлы с помощьюviчто и было причиной в моем случае. Открытие сvimвместо этого исправил проблему.

Другие вопросы по тегам