vi,重新安装后出现多个“抱歉,该命令在此版本中不可用...”

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

我可以删除这些行,但我更想知道我真正缺少了什么或者需要升级什么才导致了这个问题,因为这个文件以前对我有用。

答案1

从内部尝试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


编辑:如果有人好奇的话,Michael Durrant 用 #1 修复了这个问题。

答案2

您可能没有安装完整版的 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命令应该会成功。

答案3

如果这是在您更新到 16.04 之后出现的,那么可能是因为正如@luka5z 指出的那样,python 3 被更改为默认解释器。

为了解决这个问题,我更新到了最新的 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>

答案4

就我而言,问题是我有一个~/.selected_editor包含以下内容的文件:

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

我重新运行select-editor命令并选择/usr/bin/vim.basic选项 - 这改变了外部程序使用的编辑器。

相关内容