Vim:TagList插件慢速更新

时间:2010-12-31 07:36:43

标签: vim taglist

我正在开发中使用带有TagList的Vim。 TagList似乎非常好,但是一个问题是它需要很长时间才能刷新,所以如果我的意思是从函数A到同一文件中的函数B,则TagList需要大约5秒钟才能获得更新。无论如何都要缩短这个间隔,例如半秒钟?

4 个答案:

答案 0 :(得分:3)

我遇到与你同样的问题,受到ThePosey答案的启发。

您可以在taglist.vim的第1678行找到“autocmd”命令,该命令看起来

autocmd BufEnter * call s:Tlist_Refresh()

等待BufEnter事件刷新标记窗口。

我刚将其修改为

autocmd BufEnter,CursorMovedI * call s:Tlist_Refresh()

当光标在插入模式下移动时,它将切换Tlist_Refresh。 我删除了CursorMoved事件,因为它阻碍了太多其他命令。

我认为这应该符合大多数情况的要求。副作用是一些需要移动光标变为无效的命令。

编辑:

更简单的方法是将此行放在.vimrc文件中:

autocmd CursorMovedI * silent! TlistHighlightTag

顺便说一句,没有命令TlistRefresh,而是使用TlistHighlightTag。

答案 1 :(得分:3)

您可以尝试将更新时间设置为1000毫秒。我用一个大文件做了这个,一切都运行得很好,刷新每秒都发生一次;

set ut=1000

看看是否有帮助

答案 2 :(得分:1)

您可以将键绑定到该函数:TlistRefresh

map <silent> <F1> :TlistRefresh<CR>

答案 3 :(得分:1)

有点老问题,但对于taglist 4.6(至少),更新周期由updatetime控制(autocmd CursorHold ..第1735行)

对于互动,Tom Yu的回答可能是最好的解决方案。