Vim 8.1.0037更新破坏了多个插件。

4
我已将vim更新至8.1.0037版本(vim --version显示编译于6月13日),但今天打开时发现多个插件无法使用。
我尝试重启和重新安装这些插件,但它们仍然无法使用。
有何指示?似乎是更新导致了插件失效。
我的.vimrc文件内容如下:
filetype plugin indent on
syntax on 
set number
set encoding=utf-8

autocmd vimenter * NERDTree /home/myname
map <F4> :NERDTreeToggle<CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif

错误消息如下所示。
Error detected while processing /home/myname/.vim/pack/myname/start/ctrlp.vim/plugin/ctrlp.vim:
line   13:
E475: Invalid argument: 
line   14:
E10: \ should be followed by /, ? or &
line   15:
E10: \ should be followed by /, ? or &
Error detected while processing function ctrlp#mrufiles#opts:
line    1:
E15: Invalid expression: 
E15: Invalid expression: ['g:ctrlp_mruf_', {
line    2:
E10: \ should be followed by /, ? or &
line    3:
E10: \ should be followed by /, ? or &
line    4:
E10: \ should be followed by /, ? or &
line    5:
E10: \ should be followed by /, ? or &
line    6:
line   10:
E121: Undefined variable: opts
E116: Invalid arguments for function items(opts)
E15: Invalid expression: items(opts)
Error detected while processing /home/myname/.vim/pack/myname/start/ctrlp.vim/plugin/ctrlp.vim:
line   50:
E10: \ should be followed by /, ? or &
line   53:
E10: \ should be followed by /, ? or &
Error detected while processing /home/myname/.vim/pack/myname/start/tagbar/plugin/tagbar.vim:
line   39:
E10: \ should be followed by /, ? or &
line   40:
E10: \ should be followed by /, ? or &
Error detected while processing function <SNR>45_setup_options:
line    6:
E697: Missing end of List ']': 
E15: Invalid expression: [
Error detected while processing 

/home/myname/.vim/pack/myname/start/tagbar/plugin/tagbar.vim:
    line   88:
    E15: Invalid expression: 
    E15: Invalid expression: has('multi_byte') && has('unix') && &encoding == 'utf-8' &&
    line   89:
    E10: \ should be followed by /, ? or &
    Error detected while processing function <SNR>45_setup_keymaps:
    line    1:
    E697: Missing end of List ']': 
    E15: Invalid expression: [
    Error detected while processing function airline#init#bootstrap:
    line   24:
    E15: Invalid expression: 
    E116: Invalid arguments for function extend
    line   25:
    E10: \ should be followed by /, ? or &
    line   26:
E10: \ should be followed by /, ? or &
        line   33:
        E10: \ should be followed by /, ? or &
        line   34:
        E10: \ should be followed by /, ? or &
        line   35:
        E10: \ should be followed by /, ? or &
        line   36:
        E10: \ should be followed by /, ? or &
        line   37:
        E10: \ should be followed by /, ? or &
        line   40:
        E15: Invalid expression: 
        E116: Invalid arguments for function extend
        line   41:
        E10: \ should be followed by /, ? or &
        line   42:
        E10: \ should be followed by /, ? or &
        line   43:
        E10: \ should be followed by /, ? or &
        line   44:
        E10: \ should be followed by /, ? or &
        line   45:
        E10: \ should be followed by /, ? or &
        line   46:
        E10: \ should be followed by /, ? or &
        line   47:
        E10: \ should be followed by /, ? or &
        line   48:
        E10: \ should be followed by /, ? or &
        line   49:
        E10: \ should be followed by /, ? or &
        line   55:
        E15: Invalid expression: 
        E116: Invalid arguments for function extend
        line   56:
        E10: \ should be followed by /, ? or &
        line   57:
        E10: \ should be followed by /, ? or &
        line   58:
        E10: \ should be followed by /, ? or &
        line   59:
        E10: \ should be followed by /, ? or &
        line   60:
        E10: \ should be followed by /, ? or &
        line   61:
        E10: \ should be followed by /, ? or &
        line   62:
        E10: \ should be followed by /, ? or &
        line   72:
        E10: \ should be followed by /, ? or &
        line   73:
        E10: \ should be followed by /, ? or &
        line   74:
        E10: \ should be followed by /, ? or &
        line   75:
        E10: \ should be followed by /, ? or &
        line   76:
        E10: \ should be followed by /, ? or &
        line   77:
        E10: \ should be followed by /, ? or &
        line   78:
        E10: \ should be followed by /, ? or &
        line   79:
        E10: \ should be followed by /, ? or &
        line   87:
        E15: Invalid expression: 
        E116: Invalid arguments for function extend
        line   88:
        E10: \ should be followed by /, ? or &
        line   89:
        E10: \ should be followed by /, ? or &
        line   90:
        E10: \ should be followed by /, ? or &
        line   91:
        E10: \ should be followed by /, ? or &
        line   92:
        E10: \ should be followed by /, ? or &
        line   93:
        E10: \ should be followed by /, ? or &
        line   94:
        E10: \ should be followed by /, ? or &
        line   95:
        E10: \ should be followed by /, ? or &
        line  103:
        E10: \ should be followed by /, ? or &
        line  104:
        E10: \ should be followed by /, ? or &
        line  105:
        E10: \ should be followed by /, ? or &
        line  106:
        E10: \ should be followed by /, ? or &
        line  107:
        E10: \ should be followed by /, ? or &
        line  108:
        E10: \ should be followed by /, ? or &
        line  109:
        E10: \ should be followed by /, ? or &
        line  110:
        E10: \ should be followed by /, ? or &
        line  113:
        E15: Invalid expression: 
        E116: Invalid arguments for function airline#parts#define
        line  114:
        E10: \ should be followed by /, ? or &
        line  115:
        E10: \ should be followed by /, ? or &
        line  116:
        E10: \ should be followed by /, ? or &
        line  122:
        E15: Invalid expression: 
        E116: Invalid arguments for function airline#parts#define
        line  123:
        E10: \ should be followed by /, ? or &
        line  124:
        E10: \ should be followed by /, ? or &
        line  125:
        E10: \ should be followed by /, ? or &
        line  128:
        E15: Invalid expression: 
        E116: Invalid arguments for function airline#parts#define
        line  129:
        E10: \ should be followed by /, ? or &
        line  130:
        E10: \ should be followed by /, ? or &
        line  131:
        E15: Invalid expression: 
        E116: Invalid arguments for function airline#parts#define
        line  132:
        E10: \ should be followed by /, ? or &
        line  133:
        E10: \ should be followed by /, ? or &
        line  135:
        E697: Missing end of List ']': 
        E116: Invalid arguments for function airline#parts#define_empty
        line  136:
        E10: \ should be followed by /, ? or &
        line  137:
        E10: \ should be followed by /, ? or &
        line  138:
        E10: \ should be followed by /, ? or &
        --- Auto-Commands ---
        Error detected while processing function <SNR>46_airline_toggle:
        line   19:
        E10: \ should be followed by /, ? or &
        line   20:
        E10: \ should be followed by /, ? or &
        --- Auto-Commands ---
        line   33:
        E10: \ should be followed by /, ? or &
        --- Auto-Commands ---
        VimEnter
        *NERDTree /home/qiuxiao/
        FileExplorer  VimEnter
        *sil call s:VimEnter(expand("<amatch>"))
        youcompletemeStart  VimEnter
        *call youcompleteme#Enable()
        NERDTreeHijackNetrw  VimEnter
        *silent! autocmd! FileExplorer
        call nerdtree#checkForBrowse(expand("<amatch>"))
        matchparen  WinEnter
        *call s:Highlight_Matching_Pair()
        CtrlPMRUF  BufWinEnter
        *cal s:record(expand('<abuf>', 1))
        filetypeplugin  FileType
        *call s:LoadFTPlugin()
        filetypeindent  FileType
        *call s:LoadIndent()
        syntaxset  FileType
        *exe "set syntax=" . expand("<amatch>")
        line   35:
        E10: \ should be followed by /, ? or &
        --- Auto-Commands ---
        line   43:
        E10: \ should be followed by /, ? or &
        line   44:
        E10: \ should be followed by /, ? or &
        --- Auto-Commands ---
        Error detected while processing 

    /home/myname/.vim/pack/myname/start/vim-fugitive/plugin/fugitive.vim:
        line  151:
        E10: \ should be followed by /, ? or &
        line  152:
        E10: \ should be followed by /, ? or &
        line  153:
        E10: \ should be followed by /, ? or &
        line  154:
        E10: \ should be followed by /, ? or &
        line  155:
        E10: \ should be followed by /, ? or &
        line  156:
        E10: \ should be followed by /, ? or &
        Press ENTER or type command to continue

我认为是这个更新导致我的Linux Mint 18.3插件出现了问题 - vim-gtk3(2:8.1.0037-0york1〜16.04)到2:8.1.0037 + v8.1.0053-0〜ubuntu16.04.1 - 来自jonathonf / vim PPA。 - Mike Lippert
@MikeLippert 我正在使用 ElementaryOS,更新只包括 vimvim-tinyvim-runtime。在我看来,似乎是 vim 自身出了问题。 - stucash
我同意。看看你的cpoptions,我找到了一个相关的线程https://groups.google.com/d/topic/vim_use/94wo-ZiqJwo/discussion,并在其中发布了一条消息。 - Mike Lippert
@MikeLippert 谢谢 Mike。我也在 vim 的 Github 上提出了一个问题。我们也可以在那里关注一下。 - stucash
我有一个类似的问题,当我启动VIM时,会出现错误在处理函数pathogen#infect[8]..pathogen#interpose[12]..pathogen#is_disabled时检测到错误: 行 5: E15: 无效表达式: E15: 无效表达式: 按ENTER键或输入命令以继续 - jedi
2个回答

1
已修复,版本为2:8.1.0061-0york1~16.04。
似乎来自jonathonf的vim PPA更新版本2:8.1.0037+v8.1.0053-0~ubuntu16.04.1存在问题。特别是,现在似乎是vim-tinyvim-common将一些文件放在/usr/share/vim/vim810037+v81/而不是/usr/share/vim/vim81/
我能够通过以下方式解决问题(一个临时措施,我不确定当软件包得到修复后它会如何工作):
sudo cp /usr/share/vim/vim810037+v81/debian.vim /usr/share/vim/vim81/

然后编辑并更改运行时路径。
sudo vim /usr/share/vim/vim81/debian.vim
:%s/vim810037+v81/vim81/
:wq

如需更多有关原因的信息,请查看https://github.com/vim/vim/issues/3014中jonathonf的评论。


1
感谢你在这件事上花费的时间,Mike。看起来这是一个足够好的修复方案。现在我们知道了问题出在哪里,我认为Jonathan很快就会着手处理。不要忘记,如果有人再次遇到这个问题,我们也可以从源代码构建最新的vim(这里有点作弊 :P)。 - stucash
现在已经被 PPA 的所有者 Jonathon F. 修复了。 - jedi

0
如果你遇到了像这样的错误:
Error detected while processing /home/myname/.vim/pack/myname

/start/ctrlp.vim/plugin/ctrlp.vim:

尝试使用以下方法进行修复:

cd && cd /home/myname/.vim/pack/myname/start/ctrlp.vim/plugin/

git pull --rebase

另外,为了修复以下问题:

Error detected while processing /home/myname/.vim/pack/myname

/start/tagbar/plugin/tagbar.vim: 

只需使用:

cd /home/myname/.vim/pack/myname/start/tagbar/plugin/

git pull --rebase

为了修复以下链接:

Error detected while processing /home/myname/.vim/pack/myname

/start/vim-fugitive/plugin/fugitive.vim:

只需使用:

cd /home/myname/.vim/pack/myname/start/vim-fugitive/plugin/ && git pull --rebase

结束!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接