Uzupełnianie argumentów dla Pythona

9

Czy istnieje sposób na uzupełnienie argumentów dla Pythona?

Obecnie używam kombinacji ctags, trybu python i YouCompleteMe, ale brakuje mi funkcji do automatycznego uzupełniania argumentów funkcji (lub przynajmniej ich pokazania).

Czy istnieje wtyczka, która to obsługuje?

Używam vim / gvim 7.4 i Ubuntu 14.04

Kyra
źródło

Odpowiedzi:

10

Domyślnie (przy minimalnym vimrc i bez zainstalowanych wtyczek) jest to już możliwe.

Vim jest dostarczany z wieloma wtyczkami typu pliku, a niektóre z tych wtyczek oferują wszechstronne ukończenie od razu po wyjęciu z pudełka. Na przykład, python jest dostarczany z pythoncomplete.vim.

Jeśli użyjesz domyślnego pythoncomplete.vim, który jest dostarczany z Vimem (tj. Bez YouCompleteMe, bez trybu python, bez jedi-vim), po zakończeniu funkcji pojawi się okno podglądu, które pokazuje argumenty słów kluczowych.

Wszystko czego potrzebujesz to Vim z +pythonfunkcją ( :echo has('python')pokazuje 1). Jeśli tak, to wystarczy, aby włączyć domyślne omni-uzupełnianie w Pythonie za pomocą vimrc:

filetype plugin indent on

Po polowaniu na wiele innych rozwiązań uzupełniających dla Pythona (jedi, tryb python), polubiłem pythoncomplete.vim, który jest dostarczany z Vimem znacznie więcej. Jest to proste i co najważniejsze dla mnie, jest bardzo stabilne, szczególnie w porównaniu z rozwiązaniami takimi jak jedi-vim / python-mode i YouCompleteMe.

Tak wygląda domyślne rozwiązanie. Nie oferuje uzupełniania argumentów, ale pokazuje je tylko w oknie podglądu, dzięki czemu można łatwo wypełnić argumenty słów kluczowych w następujący sposób:

wprowadź opis zdjęcia tutaj

akshay
źródło
2
@ lcd047: W jaki sposób to nie odpowiada na pytanie? Pytanie polegało na znalezieniu rozwiązania „autouzupełniania argumentów funkcji (lub przynajmniej ich pokazywania)”. Zasugerowałem rozwiązanie, które pokazuje argumenty funkcji. Zaproponowałeś uzupełnienie argumentów, zaproponowałem ich przedstawienie. Pytający może wybrać swoje preferencje. Nie widzę tutaj problemu.
akshay,
Chcę znaleźć więcej informacji na temat tej wtyczki. Jak tego używasz? Czy potrzebuję do tego ctagów?
Neaţu Ovidiu Gabriel
@ NeaţuOvidiuGabriel: ta wtyczka jest wbudowana w Vima, nie potrzebujesz niczego poza tym, co mówi moja odpowiedź.
akshay