Я искал в течение часа, как в Stack Overflow, так и в другом месте. Увы! Пожалуйста помоги. Vim omnicompletion просто не работает.
-
У меня есть Vim 7.2, скомпилированный с поддержкой Python.
-
filetype plugin on
находится в моем.vimrc
. -
Когда файл
.py
открыт,:echo &omnifunc
печатаетpythoncomplete#Complete
. -
Я работаю с большим проектом, и у меня есть файл
tags
, сгенерированный с помощьюexhuberant-ctags
. Он находится в пути Vimctags
. Я могу проверить его, набрав ^] на символ, а затем я перейду к определению символов. -
Обновление 1:. Весь код моего проекта находится в пути python-in-Vim. Я могу
:python import myproject
успешно.
Теперь, где бы я ни пытался, C-x C-o, все, что я получаю, это:
-- Omni completion (^O^N^P) Pattern not found
Что я делаю неправильно?
Обновление 2: Когда я набираю C-x C-o C-n на уровне модуля, Vim отображает всплывающее окно завершения с несколькими константами уровня модуля из других модулей моего проекта. Но это только константы (заглавные буквы символов) и завершение все еще не работают нигде.
Обновление 3:. Я обнаружил, что C-x C-o в верхней части файла запускает какой-то omnicompletion, а завершение для pprint.
вызывает меню и быстро ссылается на все в модуль pprint
. Однако ни один из моих собственных импортных модулей не завершается.
Обновление 4, через год: Я сдался и узнал Emacs. Я был на темной стороне, в мистической стране интриг и специй, и я говорю тебе, что нашел "Путь".
Обновление 5, два года спустя: Я вернулся в Вим. Emacs красив, но даже после 1,5 лет Emacs я все еще быстрее получаю работу в Vim. Я прекратил писать Python пока, и не могу проверить, насколько хорошо эти предложения работают.