Argumentvervollständigung für Python

9

Gibt es eine Möglichkeit, die Argumentvervollständigung für Python zu erhalten?

Ich verwende derzeit eine Kombination aus ctags, Python-Modus und YouCompleteMe, aber mir fehlt eine Funktion, um die Argumente einer Funktion automatisch zu vervollständigen (oder zumindest anzuzeigen).

Gibt es ein Plugin, das das unterstützt?

Ich benutze vim / gvim 7.4 und Ubuntu 14.04

Kyra
quelle

Antworten:

10

Standardmäßig (mit einem minimalen vimrc und ohne installierte Plugins) ist dies bereits möglich.

Vim wird mit mehreren Dateityp-Plugins geliefert, und einige dieser Plugins bieten sofort eine Omni-Vervollständigung. Python wird beispielsweise mit pythoncomplete.vim geliefert.

Wenn Sie die mit Vim gelieferte Standardeinstellung pythoncomplete.vim verwenden (dh kein YouCompleteMe, kein Python-Modus, kein jedi-vim), wird beim Ausführen einer Funktion ein Vorschaufenster angezeigt, in dem die Schlüsselwortargumente angezeigt werden.

Alles was Sie brauchen ist Vim mit +pythonFunktion ( :echo has('python')zeigt 1). Wenn Sie dies tun, ist dies alles, was Sie benötigen, um die Standard-Python-Omni-Vervollständigung mit Ihrem vimrc zu aktivieren:

filetype plugin indent on

Nachdem ich nach vielen anderen Komplettierungslösungen für Python gesucht habe (jedi, python-mode), mag ich pythoncomplete.vim, das viel mehr mit Vim geliefert wird. Es ist einfach und für mich am wichtigsten, es ist sehr stabil, insbesondere im Vergleich zu Lösungen wie jedi-vim / python-mode und YouCompleteMe.

So sieht die Standardlösung aus. Es bietet keine Vervollständigung von Argumenten, sondern zeigt sie nur im Vorschaufenster an, sodass Sie die Schlüsselwortargumente einfach wie folgt eingeben können:

Geben Sie hier die Bildbeschreibung ein

Akshay
quelle
2
@ lcd047: Inwiefern beantwortet dies nicht die Frage? Die Frage war, eine Lösung zu finden, um "die Argumente einer Funktion automatisch zu vervollständigen (oder sie zumindest zu zeigen)". Ich schlug eine Lösung vor, die die Argumente einer Funktion zeigt. Sie haben die Vervollständigung von Argumenten vorgeschlagen, ich habe deren Darstellung vorgeschlagen. Der Fragesteller kann seine Präferenz auswählen. Ich sehe das Problem hier nicht.
Akshay
Ich möchte weitere Informationen zu diesem Plugin finden. Wie benutzt man es? Benötige ich dafür ctags?
Neaţu Ovidiu Gabriel
@ NeaţuOvidiuGabriel: Dieses Plugin ist in Vim integriert. Du brauchst nichts anderes als das, was meine Antwort dir sagt.
Akshay