Автозаполнение Vim для Python - PullRequest
49 голосов
/ 21 августа 2011

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

Омни завершения (^ O ^ N ^ P) Паттерн не найден

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

Ответы [ 6 ]

56 голосов
/ 25 сентября 2012

Попробуйте Джедай ! Есть плагин Vim на https://github.com/davidhalter/jedi-vim.

Это работает намного лучше, чем что-либо еще для Python в Vim. У него даже есть поддержка переименования, перехода и т. Д. Самое приятное, что он действительно пытается понять ваш код (декораторы, генераторы и т. Д. Просто посмотрите на список возможностей).

12 голосов
/ 20 ноября 2013

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

Завершение на питоне основано на джедаях и на джедай-вим.

6 голосов
/ 06 апреля 2016

AFAIK есть три варианта, каждый со своими недостатками:

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

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

6 голосов
/ 02 февраля 2013

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

2 голосов
/ 14 июня 2016

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

0 голосов
/ 09 мая 2013

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

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