Vim: Медленное обновление плагина TagList
Я использую Vim с TagList в разработке. TagList кажется очень хорошим, но одна проблема в том, что обновление занимает много времени, поэтому, если, например, я имею в виду переход от функции A к функции B в одном и том же файле, то для получения TagList требуется около 5 секунд. обновлено. Можно ли как-то сократить этот интервал, например, на полсекунды?
4 ответа
Вы можете попробовать установить время обновления до 1000 мс. Я сделал это с большим файлом, и все работает очень хорошо, обновление происходит каждую секунду;
set ut=1000
посмотрим, поможет ли это
У меня та же проблема, что и у вас, и вдохновленный ответом ThePosey.
Вы можете найти команду "autocmd" в строке 1678 в taglist.vim, который выглядит
autocmd BufEnter * call s:Tlist_Refresh()
который ожидает событие BufEnter для обновления окна тега.
Я просто изменил это
autocmd BufEnter,CursorMovedI * call s:Tlist_Refresh()
и он переключит Tlist_Refresh, когда ваш курсор движется в режиме вставки. Я удалил событие CursorMoved, потому что оно мешает многим другим командам.
Я думаю, что это должно соответствовать требованию для большинства случаев. Побочный эффект - некоторые команды, требующие перемещения курсора, становятся недействительными.
Редактировать:
Проще было бы поместить эту строку в файл.vimrc:
autocmd CursorMovedI * silent! TlistHighlightTag
И кстати, там нет команды TlistRefresh, вместо этого используйте TlistHighlightTag.
Вы можете привязать ключ к функции:TlistRefresh
map <silent> <F1> :TlistRefresh<CR>
Вроде старого вопроса, но для taglist 4.6 (как минимум) период обновления контролируется временем обновления (autocmd CursorHold .. строка 1735)
Для интерактивности ответ Тома Юя, вероятно, является лучшим решением.