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)

Для интерактивности ответ Тома Юя, вероятно, является лучшим решением.

Другие вопросы по тегам