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默认情况下安装了skinny 软件包,其中不包括该vim-runtime软件包。我通过安装更具膨胀性的vim软件包来修复E319 ,该软件包具有vim-runtime依赖性。
NovaDenizen

1
我因为同样的问题来到这里。根据正确的答案,我发现vim没有安装,但是安装了vi。安装后vim一切正常。
Jelmer '16

就我而言,:version它没有提及任何有关GUI的信息,而安装-gui-commmon或-runtime并不能解决问题,它处于打开状态~/.vimrc
巴勃罗

Answers:


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


编辑:迈克尔·杜兰特(Michael Durrant)用#1修复了这个问题,以防有人怀疑


答案+1,谢谢,也为我修复了(在puphpet.com提供的运行Ubuntu 12.04 LTS 64bit的VM上):上面答案中提到的命令: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 2014年

1
如果您不想要GUI,则可以sudo apt-get install vim-nox(然后:version将报告Huge version without GUI.
ysth 2016年

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命令应该成功。


这在Linux Mint上对我有用,而最佳答案却没有。
adrianmc

6

如果在更新到16.04之后开始,这可能是@ luka5z指出的默认解释器python 3的变更。

为了解决此问题,我从https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/clang-format.py更新到了最新的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-alternatives激活它:

update-alternatives --config vim

选择与vim.nox-py2相对应的数字。


要注意的是,这是针对16.04。Ubuntu上的Vim以前仅启用了python2,现在在单独的软件包中启用了python3和python2。
muru

3
Python3是Ubuntu 16.04的默认解释器。如果由于使用py命令而出现此消息,请用等效的Python 3替换它py3
luka5z '16

@ luka5z您的评论是我在此页面上发现的最有用的东西!
e4c5
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.