为什么从 Ubuntu 13 升级后,在 Ubuntu 14 中会出现这些 .vimrc 错误?

为什么从 Ubuntu 13 升级后,在 Ubuntu 14 中会出现这些 .vimrc 错误?

当我尝试使用 vim 时,所有这些命令都会出错(尽管 vim 可以工作):

autocmd BufWritePre *.rb :%s/\s\+$//e
set filetype off
filetype plugin on
filetype indent on
syntax on " Turn on syntax highlighting
match ExtraWhitespace /\s\+$/
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches()
let mapleader = ","
set foldmethod=indent   "fold based on indent
set foldnestmax=10      "deepest fold is 10 levels
set nofoldenable        "dont fold by default
set foldlevel=1         "what I use
let loaded_matchparen = 1 " MDD Turn off matching bracket " Ubuntu14 filetype plugin indent on    " required

如果我在 .vimrc 中注释掉这些行,就不会出现任何错误。

但我怀疑我现在可能已经“丢失”了这些设置。

在 Ubuntu 13 的 vim 中,它们是否有不同的形式或者其他东西?

错误:

三个类别:

  • 抱歉,此版本不提供该命令
  • 不支持该选项
  • 未知选项

细节:

$ vi .vimrc
Error detected while processing /home/durrantm/.vimrc:
line   20:
E319: Sorry, the command is not available in this version: autocmd BufWritePre *.rb :%s/\s\+$//e
line   24:
E519: Option not supported: filetype 
line   25:
E319: Sorry, the command is not available in this version: filetype plugin on
line   26:
E319: Sorry, the command is not available in this version: filetype indent on
line   27:
E319: Sorry, the command is not available in this version: syntax on " Turn on syntax highlighting
line   37:
E319: Sorry, the command is not available in this version: match ExtraWhitespace /\s\+$/
line   38:
E319: Sorry, the command is not available in this version: autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
line   39:
E319: Sorry, the command is not available in this version: autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@
<!$/
line   40:
E319: Sorry, the command is not available in this version: autocmd InsertLeave * match ExtraWhitespace /\s\+$/
line   41:
E319: Sorry, the command is not available in this version: autocmd BufWinLeave * call clearmatches()
line   48:
E319: Sorry, the command is not available in this version: let mapleader = ","
line   52:
E518: Unknown option: foldmethod=indent
line   53:
E518: Unknown option: foldnestmax=10
line   54:
E518: Unknown option: nofoldenable
line   55:
E518: Unknown option: foldlevel=1
line   57:
E319: Sorry, the command is not available in this version: let loaded_matchparen = 1 " MDD Turn off matching brac
ket highlighting.
line   58:
E319: Sorry, the command is not available in this version: filetype plugin indent on

答案1

事实证明,我没有 vim,只有 vi,这是由于升级后的依赖问题。

tl;dr; - 需要较旧依赖项的版本。已修复:

$ sudo apt-get remove vim-common 
$ sudo apt-get remove vim-runtime
$ sudo apt-get update && sudo apt-get install vim  
Change .vimrc setting "set filetype off" => "filetype off"

完整版...

修复是:

尝试做:

apt-get install vim

但收到消息

...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 vim : Depends: vim-common (= 2:7.4.052-1ubuntu3) but 2:7.4.335-1~ppa1~s is to be installed
       Depends: vim-runtime (= 2:7.4.052-1ubuntu3) but 2:7.4.335-1~ppa1~s is to be installed
E: Unable to correct problems, you have held broken packages.
$

于是我尝试:

$ sudo apt-get install vim-common

Reading package lists... Done
Building dependency tree       
Reading state information... Done
vim-common is already the newest version.

最后,我意识到消息表明依赖关系是,2:7.4.052但是我有2:7.4.335vim-common 和 vim-runtime,换句话说,我有更多最近的版本。意识到这一点,最终的修复是:

$ sudo apt-get remove vim-common 
...
$ sudo apt-get remove vim-runtime

然后我就能做到;

$ sudo apt-get update && sudo apt-get install vim  

这解决了除一行之外的所有问题

set filetype off

我将其改为

filetype off

相关内容