Neocomplete не работает с файлами vim

Я только что установил Neocomplete и попробовал его для файлов C, ruby ​​и python, и он работает отлично. У меня проблемы с файлами vim, так как я не получаю ни одного дополнения. Я старался C-x C-o и получил omnifunc is not set ошибка

Что я делаю неправильно? Я думал, что это будет работать с нуля.

1 ответ

Решение

Вы не делаете ничего плохого. Это не neocomplete работа по обеспечению omnifunc,

Neocomplete хорошо работает с омни завершением: он использует omnifunc чтобы предоставить хороших кандидатов для завершения, наряду с другими дополнениями, предоставленными Vim. Тем не менее, сама неокончание не обеспечивает или не устанавливает omnifunc для разных типов файлов. Вот почему его пример конфигурации имеет несколько строк с set omnifunc=..,

Он работает с python и т. Д., Потому что соответствующие функции обеспечиваются файлами времени выполнения vim (например, /usr/local/share/vim/vim74/autoload/pythoncomplete.vim) или другие плагины (например, jedi-vim) и omnifunc параметры установлены соответственно (если вы хотите знать, где :verbose set omnifunc?).

К сожалению, по умолчанию не предусмотрена функция омни-завершения для скрипта Vim, поэтому вам нужно i) найти одну и ii) set omnifunc=(that function), После этого neocomplete сможет использовать эту функцию для обеспечения полного завершения.


Редактировать: как указал @Martin Macak, страница github neocomplete-vim показывает что-то вроде omni-complete. После некоторых копаний кажется, что эти дополнения происходят от https://github.com/Shougo/neco-vim, кратко упомянутого в документе. i_CTRL-X_CTRL-V упомянутое там также стоит попробовать.

Другие вопросы по тегам