我在开发中使用带有 TagList 的 Vim。TagList 看起来很不错,但其中一个问题是刷新需要很长时间,所以如果我的意思是从函数 A 到函数 B 在同一个文件中,TagList 大约需要 5 秒才能得到更新。有没有办法让这个间隔更短,比如半秒?
问问题
1570 次
4 回答
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。
于 2012-02-29T08:17:56.847 回答
3
您可以尝试将更新时间设置为 1000 毫秒。我用一个大文件做到了这一点,一切都运行良好,每秒刷新一次;
set ut=1000
看看有没有帮助
于 2015-08-18T17:31:10.013 回答
1
您可以将键绑定到函数:TlistRefresh
map <silent> <F1> :TlistRefresh<CR>
于 2011-03-17T13:24:01.700 回答
1
有点老问题,但对于 taglist 4.6(至少)更新周期由更新时间控制(autocmd CursorHold .. line 1735)
对于交互性,Tom Yu 的回答可能是最好的解决方案。
于 2013-12-04T10:53:56.523 回答