Более быстрое завершение ключевых слов для нескольких файлов в Vim?

StackOverflow https://stackoverflow.com/questions/1502505

Вопрос

В поисках своей нирваны завершения Python в vim я по-настоящему полюбил <C-x> <C-i>:«ключевые слова в текущих и включенных файлах».Почти всегда это дает мне длинное неприятное имя из другого завершенного модуля, и это здорово.

(Очевидно, что омни-дополнение лучше, когда оно работает, но слишком часто оно сообщает, что не может найти совпадений.Хорошо, Python — это не Java, я понимаю)

Единственная проблема с этим многофайловым завершением — оно очень медленное:на моем нетбуке анализ файла с разумным набором импортов может занимать до 4 или 5 секунд каждый раз, когда я нажимаю <C-x> <C-i>.Кажется, он загружает каждый импортированный файл каждый раз, когда я нажимаю <C-x> <C-i>.Есть ли способ кэшировать файлы или ускорить этот процесс?Будет ли использование завершения тегов быстрее?

Это было полезно?

Решение

Вполне возможно, что этот процесс займет некоторое время, если вы работаете над проектами с несколькими исходными файлами (vim необходимо проанализировать все включенные исходные файлы, чтобы найти больше включенных исходных файлов и построить список слов). мог используйте дополнение тегов, которое использует выходные данные ctags, чтобы сделать почти то же самое, но вам нужно будет запустить несколько тестов, чтобы определить разницу в скорости.

Я лично использую полный завершение (<C-P> или <C-N> в режиме вставки.) По умолчанию оно соответствует все слова в все буферы (даже буферы, которые были выгружены, т.е.файлы, которые были закрыты), но это очень быстро.Я обнаружил, что завершение тем не менее работает довольно точно, даже если вы активируете его после 2-3 символов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top