В чем разница между omnifunc и completefunc, кроме сопоставления ключей вызова? - PullRequest
16 голосов
/ 04 августа 2011

Есть ли разница в функциональности между этими двумя типами полных функций в vimscript?

1 Ответ

18 голосов
/ 04 августа 2011

Технически, нет никакой разницы в реализации как пользовательского завершения (см. :help compl-function, :help 'completefunc'), так и Омни завершения (см. :help compl-omni, :help 'omnifunc').Оба они работают, вызывая функцию специальной семантики, которая определяет начало выражения, которое должно быть завершено в текущей позиции, и предоставляет соответствующие предложения о завершении (см. :help complete-functions).

Где разница между этими двумяТипы завершения проявляет себя, является целью завершения.Пользовательское завершение должно быть настроено самим пользователем в соответствии с условиями, специфичными для конкретной идеи завершения.Предполагается, что завершение Omni зависит от типа файла.Следовательно, отдельные функции завершения Omni для разных типов файлов автоматически загружаются Vim из файлов autoload/{ft}complete.vim, где {ft} обозначает конкретный тип файла.См. Эти файлы завершения Omni для типов файлов C или Python в качестве ссылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...