发布于 4年前

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

触发场景

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

Error detected while processing function <SNR>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

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

©2020 edoou.com   京ICP备16001874号-3