[Обновление 06/2013: как заметил пользователь doubleDown, у меня неверная терминология: удобные C-p
и C-n
нажатия клавиш не omni завершение (omnicompletion), но ключевое слово завершение.Я думаю, что терминология Vim здесь несколько неудачна: omni на латыни означает каждые , тогда как ключевое слово представляется более ограниченным выбором.По умолчанию C-p
и C-n
работают, чтобы завершить каждое слово прозы, а не только ключевые слова.Это заставило меня думать, что они должны быть omni завершение, а не просто ключевое слово завершение.]
Ну ... :-) ... просто набрав в заголовкеНа мой вопрос очень эффективный ответ появился в каталоге вопросов с похожими названиями.(Который просто показывает, насколько хорош этот сайт!) Я все равно задам вопрос - может быть, у кого-то есть еще более полезный ответ в магазине ... Итак, вот так:
VimКлючевое слово Omni Завершение (по умолчанию привязано к C-p
и C-n
в режиме редактирования) - Intellisense для бедняков, что, по моему опыту, почти так же хорошо.Он ищет в буферах совпадающие строки.
Однако некоторые сценарии файловых типов выходят за рамки, когда ключевое слово omni complete выполняет рекурсивный поиск включенных файлов.( Обновление: Поиск во включенных файлах на самом деле используется по умолчанию, что видно по :help 'complete'
в Vim 7.3; просто в некоторых типах файлов включается много материала, что приводит к замедлению, возможно, усугубляетсясубоптимальными алгоритмами.) Так что для сценария Perl, он начнет поиск в списке модулей.Рекурсивный.Это может быстро перерасти в серьезное сканирование, вы знаете, дисковый ввод-вывод и все эти уродливые вещи.
В результате я скорее воздерживаюсь от использования этой функции, потому что теряю время и удобство.выигрыш от необходимости прерывать поиск с помощью C-c
, что оставляет некоторую случайную строку в выводе, которую я затем должен удалить.
Так что пока лучшее решение - просто отключить использование включенных файлов при завершении по умолчаниюговоря:
:set complete-=i # remedy
:help 'complete' # documentation
Есть что добавить к этому?