Używam Vima z TagList w rozwoju. TagList wydaje się być bardzo miły, ale jednym z problemów jest to, że odświeża się dużo czasu, więc jeśli na przykład mam na myśli od funkcji A do funkcji B w tym samym pliku, pobranie TagList zajmuje około 5 sekund zaktualizowany. Czy mimo to interwał jest krótszy, na przykład o pół sekundy?Vim: TagList Plugin Powolna aktualizacja
Odpowiedz
Można powiązać klucz do funkcji: TlistRefresh
map <silent> <F1> :TlistRefresh<CR>
Hmmm ... to dobra robota, więc skoro nie ma innej odpowiedzi, zaznaczę to jako zaakceptowaną odpowiedź. Ale czekaj, w moim przypadku, przypuszczam, że istnieje 5-sekundowy zegar, który wywołuje TlistRefresh, tak? Więc może to być dobry pomysł, aby to sprawdzić i zmienić. Dam ci znać, jeśli mi się uda. – Rafid
Tak, szukałem czegoś w scenariuszu, który wskazywałby wydarzenie z zegarem lub coś, co się działo, ale nic nie pokazało mi się. Jedyne, co mogłem sobie wyobrazić, to zdarzenie BufEnter generowane co 5 sekund. Dostępne są opcje debugowania, aby włączyć: TlistDebug, a następnie: TlistMessages pokazuje wyjście. Powodzenia i proszę zamieścić lepsze rozwiązanie. – ThePosey
Mam ten sam problem jak ty i zainspirowany odpowiedź ThePosey użytkownika.
można znaleźć polecenia "autocmd" on line 1678 w taglist.vim który wygląda
autocmd BufEnter * call s:Tlist_Refresh()
wyczekiwania na wydarzenia BufEnter aby odświeżyć okno tag.
Właśnie zmodyfikowane go
autocmd BufEnter,CursorMovedI * call s:Tlist_Refresh()
i będzie przełączać Tlist_Refresh podczas gdy kursor porusza się w trybie wstawiania. Usunąłem zdarzenie CursorMoved, ponieważ utrudnia zbyt wiele innych poleceń.
Myślę, że to powinno spełniać wymóg większości przypadków. Efektem ubocznym są niektóre polecenia, które wymagają, aby ruchomy kursor stał się nieprawidłowy.
Edit:
Łatwiejszy sposób byłoby umieścić ten wiersz w pliku .vimrc:
autocmd CursorMovedI * silent! TlistHighlightTag
I BTW, nie ma polecenia TlistRefresh, zamiast używać TlistHighlightTag.
Zmodyfikowałem twoje rozwiązanie nieznacznie, ponieważ CursorMovedI jest tylko dla trybu wstawiania, ale chciałem również w trybie normalnym: 'autocmd BufEnter, CursorMoved, CursorMovedI * cichy! TlistHighlightTag' –
Kind starej pytanie, ale dla taglist 4.6 (przynajmniej) okres aktualizacji jest kontrolowana przez updatetime (autocmd CursorHold .. linia 1735)
Dla interaktywność, odpowiedź Toma Yu jest chyba najlepszym rozwiązaniem.
Możesz spróbować ustawić updatetime na 1000ms. Zrobiłem to z dużym plikiem i wszystko działa bardzo dobrze, odświeżanie odbywa się co sekundę;
set ut=1000
zobaczyć czy to pomaga
pozwala to osiągnąć rozwiązanie TomYu poprzez sondowanie, ale ma tę samą wadę, co każde rozwiązanie oparte na "polling vs interrupt" (tzn. Sterowanie przerwaniami będzie szybsze i nie spowoduje niepotrzebnych operacji. (Musiałem ustawić 'ut = 250 'aby uzyskać responsywność interfejsu, której potrzebowałem, gdybym naprawdę chciał, żeby nie była zauważalna, ustawiłbym ją na' ut = 100', ponieważ zdarzenia, które są <250 ms, na ogół nie są zauważalne przez ludzi)). –
- 1. Aktualizacja zbiorcza jest zbyt powolna.
- 2. Czy ktoś ma wtyczkę vim taglist współpracującą ze Scala?
- 3. Vim: Usuń mapowanie utworzone przez vim-plugin
- 4. Automatyczna aktualizacja pakietu APL Aurelia jest powolna.
- 5. Plugin (vim-latex) zawieszanie gVim przy starcie
- 6. Eclipse - aktualizacja/instalacja nowego oprogramowania jest niesamowicie powolna
- 7. Odpowiedź Vima dość powolna
- 8. Application.GetWindow() * bardzo * powolna
- 9. aktualizacja drzewa zestawu gniazd z php i nestable.js jquery plugin
- 10. Vim CtrlP Plugin: Ręcznie ustawić główny katalog wyszukiwania?
- 11. MongoDB - powolna wydajność "$ group"
- 12. Vi plugin for eclipse?
- 13. Nawigacja Anaconda BARDZO powolna
- 14. Powolna transmisja szeregowa Arduino
- 15. Powolna instrukcja jmp
- 16. Powolna rekursja w pytonie
- 17. atuty rake: prekompilacja jest powolna
- 18. Django Tastypie powolna odpowiedź POST
- 19. Bardzo powolna prędkość ładowania OpenCart
- 20. Funkcja korelacji Scipy'ego jest powolna
- 21. Dlaczego tablica.min jest taka powolna?
- 22. powolna wydajność inicjatora wielowymiarowych macierzy
- 23. Kompilacja zasobów powolna dla EmberJS
- 24. Zmiana rozmiaru KALayera jest powolna
- 25. Powolna lista plików z jCIFS na Windows
- 26. yuicompressor maven plugin i maven-war-plugin
- 27. vim podświetlanie składni vim
- 28. Automatyczna aktualizacja przeglądarki Webpack
- 29. zakomentowanie XML w vim
- 30. Konwersja plugin jQuery maszynopis
5 sekund jest zbyt długi. Używam go również i działa dobrze dla mnie. nawet pół sekundy to za dużo. Myślę, że problem jest gdzie indziej, a nie z TagList. Używam również ctags i cscope do przeglądania kodu i są one również bardzo dobre. możesz też je wypróbować. –
@Rafid K. Abdullah: czy przeczytałeś to pytanie: http://stackoverflow.com/questions/2169645/vims-autocomplete-is-excruciatingly-slow – eckes
@eckes, tak, po prostu to zrobiłem, ale to nie jest to, czym jestem naprawdę pytając. Czy korzystałeś już z TagList ?! – Rafid