Подтвердить что ты не робот

Автозаполнение Vim для Python

Я пытаюсь включить функцию автозаполнения в Vim. Я использовал omnicompletion Vim, а также Pydiction. Но в обоих случаях это сообщение появляется:

Вскрытие (^ O ^ N ^ P) Шаблон не найден

Я пробовал Vim Omnicompletion с Python просто не работает. Но это не помогает. Есть ли обходной путь?

4b9b3361

Ответ 1

Попробуйте Jedi! Там плагин Vim на https://github.com/davidhalter/jedi-vim.

Он работает намного лучше, чем что-либо еще для Python в Vim. У него даже есть поддержка для переименования, goto и т.д. Лучшая часть, вероятно, заключается в том, что он действительно пытается понять ваш код (декораторы, генераторы и т.д. Просто посмотрите список функций).

Ответ 2

Это может быть хорошим вариантом, если вы хотите завершить python, а также другие языки. https://github.com/Valloric/YouCompleteMe

Завершение python - это jedi, основанный так же, как jedi-vim.

Ответ 3

Я попробовал pydiction (не работал у меня) и нормальный omnicompletion (слишком ограниченный). Я посмотрел на Джедаев, как предложил, но обнаружил, что это слишком сложно настроить. Я нашел python-mode, что в итоге удовлетворило мои потребности. Спасибо @klen.

Ответ 4

AFAIK существует три варианта, каждый из которых имеет свои недостатки:

  • youcompleteme: недружелюбно установить, но работает хорошо, если вам удастся заставить его работать. Однако python3 не поддерживается.
  • jedi-vim: самое крутое имя, но разбивает отменить историю.
  • python-mode делает намного больше автозаполнения: свертывание, проверка синтаксиса, выделение. Лично я предпочитаю сценарии, которые делают 1 вещь хорошо, поскольку их легче управлять (и заменять). В отличие от двух других опций он использует rope вместо jedi для автозаполнения.

Python 3 и история отмены (gundo!) являются обязательными для меня, поэтому варианты 1 и 2 отсутствуют.

Ответ 5

В это время youcompleteme также выполняет Python3.

Ответ 6

Я столкнулся с этим на своем Mac с помощью MacPorts vim с + python. Проблема заключалась в том, что MacPorts vim будет связываться только с python 2.5 с + python, в то время как мои расширения были установлены под python 2.7. Установка расширений с помощью pip-2.5 решила его.