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