python vim

Vim autocomplete para Python



python mode vim (6)

Estoy tratando de incorporar una característica de autocompletar en Vim . He usado la omnicompleción de Vim y también de Pydiction . Pero en ambos casos aparece este mensaje:

Omni finalización (^ O ^ N ^ P) Patrón no encontrado

He intentado Omnicompletion de Vim con Python simplemente no funciona . Pero esto no está ayudando. ¿Hay alguna solución?


AFAIK hay tres opciones, cada una con sus desventajas:

  1. https://github.com/Valloric/YouCompleteMe : poco amigable de instalar, pero funciona bien si logras que funcione. Sin embargo, python3 no es compatible .
  2. https://github.com/davidhalter/jedi-vim : el nombre más genial, pero rompe tu historial de deshacer .
  3. python-mode hace mucho más autocompletar: plegado, comprobación de sintaxis, resaltado. Personalmente, prefiero los scripts que hacen 1 cosa bien, ya que son más fáciles de administrar (y reemplazar). A diferencia de las otras dos opciones, usa rope lugar de jedi para autocompletar.

Python 3 y el historial de deshacer ( gundo! ) Son imprescindibles para mí, por lo que las opciones 1 y 2 están fuera.


En este momento youcompleteme también hace Python3.



Intenté la piratería (no funcionó para mí) y la omnicompleción normal (demasiado limitada). Miré a Jedi según lo sugerido, pero me pareció demasiado complejo de configurar. Encontré el python-mode , que al final satisfizo mis necesidades. Gracias @klen .


Me encontré con esto en mi Mac usando MacPorts vim con + python. El problema fue que MacPorts vim solo se vinculará a python 2.5 con + python, mientras que mis extensiones se instalaron en python 2.7. Instalar las extensiones usando pip-2.5 lo resolvió.


Prueba Jedi ! Hay un complemento de Vim en https://github.com/davidhalter/jedi-vim .

Funciona mucho mejor que cualquier otra cosa para Python en Vim. Incluso tiene soporte para cambiar el nombre, goto, etc. La mejor parte es probablemente que realmente intente comprender su código (decoradores, generadores, etc. Basta con mirar la lista de características).