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
упомянутое там также стоит попробовать.