解决 vim 插件 taglist 报错:Error detected while processing function

触发场景

clipboard.png

a.php 标签打开 taglist,然后打开 b.php 标签,此时再切回到 a.php 标签,vim 会报出一下错误信息:

Error detected while processing function 29_Tlist_Refresh_Folds

解决办法

下载 taglist 补丁:taglist.diff
补丁内容如下:(若不能下载,可以复制此内容)

diff --git a/vim/.vim/bundle/taglist/plugin/taglist.vim b/vim/.vim/bundle/taglist/plugin/taglist.vim
index 59901f6..74487a1 100644
--- a/vim/.vim/bundle/taglist/plugin/taglist.vim
+++ b/vim/.vim/bundle/taglist/plugin/taglist.vim
@@ -4097,6 +4097,11 @@ endfunction
 " window. Used after entering a tab. If this is not done, then the folds
 " are not properly created for taglist windows displayed in multiple tabs.
 function! s:Tlist_Refresh_Folds()
+
+    if g:Tlist_Show_One_File
+      return
+    endif
+
     let winnum = bufwinnr(g:TagList_title)
     if winnum == -1
         return

然后,应用此补丁:

patch -p0 ~/.vim/plugged/taglist.vim/plugin/taglist.vim ~/Downloads/taglist.diff

注意: 插件位置由你所用的插件管理器决定,可能跟我不一样。

参考:

你可能感兴趣的:(vim,vimrc,vim插件,linux,cli)