Ответ 1
Технически, нет никакой разницы в реализации как пользовательских
завершение (см. :help compl-function
, :help 'completefunc'
) и Omni
завершение (см. :help compl-omni
, :help 'omnifunc'
). Оба они работают
вызов функции специальной семантики, которая определяет начало
выражение, которое должно быть заполнено в текущей позиции, и
(см. :help complete-functions
).
Если различие между этими двумя типами завершения проявляется,
является целью завершения. Пользовательское завершение должно быть настроено по
сам пользователь в соответствии с условиями, специфичными для конкретного завершения
идея. Предполагается, что завершение Omni будет специфичным для файла. Следовательно, отдельные
Функции завершения Omni для разных типов файлов загружаются автоматически
Vim из autoload/{ft}complete.vim
файлов, где {ft}
означает
определенный тип файла. См. Те файлы завершения Omni для C или Python
filetypes в качестве ссылки.