Jak włączyć funkcję + Python w vimie

17

Chcę zainstalować wtyczkę vim, ta wtyczka potrzebuje +pythonfunkcji, więc kiedy otwieram vim i piszę :version, wyświetla się -python. Jak mogę to włączyć?

Dzięki.

Enrique GF
źródło

Odpowiedzi:

15

Musisz samodzielnie skompilować Vima lub uzyskać gotowy pakiet Vima, który został skompilowany z obsługą Pythona.

Jeśli korzystasz z systemu opartego na Debianie, najprostszym sposobem jest pobranie pakietu vim-gnome lub vim-gtk z apt( apt install vim-gtkna przykład). Inne dystrybucje mogą mieć podobny pakiet z wbudowaną obsługą Pythona.

Jeśli wolisz samodzielnie skompilować Vima, pobierz repozytorium Vima i przekaż je w następujący --enable-pythoninterpsposób:

cd /tmp && git clone https://github.com/vim/vim.git && cd vim
./configure --enable-pythoninterp --prefix=/usr
make && sudo make install

W systemie Windows możesz pobrać pakiet Gvim , który zawiera obsługę języka Python.

akshay
źródło
Dzięki. Znalazłem to również, vi.stackexchange.com/questions/10242/vim-8-0-python-support
Enrique GF
1
W przypadku własnych skompilowanych pakietów należy go zainstalować pod / usr / local not / usr. Może to zepsuć rzeczy zainstalowane przez menedżera pakietów. Najlepszym sposobem na zainstalowanie zależności jest coś w rodzajuapt build-dep vim-nox
wbkang,
6

Rozwiązanie 1:

  • Zainstaluj vim-gtkpakiet

    sudo apt install vim-gtk   
    
  • Ustaw Vima jako domyślny edytor

    sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim.gtk 1   
    sudo update-alternatives --set editor /usr/bin/vim.gtk   
    sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim.gtk 1  
    sudo update-alternatives --set vi /usr/bin/vim.gtk   
    sudo update-alternatives --install /usr/bin/vi vim /usr/bin/vim.gtk 1  
    sudo update-alternatives --set vim /usr/bin/vim.gtk    
    

Rozwiązanie 2:

W przeciwnym razie musisz skompilować Vima z kodu źródłowego (zakładając, że używasz systemu opartego na Debianie)

Przygotuj swój system

  • zainstalować

    sudo apt install libncurses5-dev \
    libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev python-dev \
    python3-dev git
    
  • Usuń Vima, jeśli już go masz

    sudo apt remove vim vim-runtime gvim  
    

skonfiguruj i wykonaj

cd /usr && sudo git clone https://github.com/vim/vim.git && cd vim  

sudo ./configure --with-features=huge \
--enable-multibyte \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ \  # pay attention here check directory correct
--enable-python3interp=yes \
--with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/ \  # pay attention here check directory correct
--enable-gui=gtk2 \
--enable-cscope \ 
--prefix=/usr/local/

sudo make VIMRUNTIMEDIR=/usr/local/share/vim/vim81 

Przygotowywanie pakietu deb przy użyciu checkinstall

  • I zainstaluj ten pakiet

    cd /usr/vim && sudo checkinstall
    
  • Lub, jeśli chcesz po prostu utworzyć --install=noopcję użycia pakietu za pomocą checkinstall

Ustaw Vima jako domyślny edytor

sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 1
sudo update-alternatives --set editor /usr/local/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/local/bin/vim 1
sudo update-alternatives --set vi /usr/local/bin/vim   

Sprawdź, czy korzystasz z nowego pliku binarnego Vima, patrząc

vim --version | grep python

Odniesienia:
- Budowanie Vima ze źródła
- checkinstall

Fin
źródło
3
Zamiast linkować do jakiegoś deba na losowej stronie internetowej, powinieneś raczej zalecić zainstalowanie oficjalnego Vima z dostępnego pakietu Debian +python. Myślę, że tak powinno byćvim-gtk
Christian Brabandt,
Dzięki @ChristianBrabandt za komentarz, zaktualizuję swoją odpowiedź.
fin
@ChristianBrabandt Wierzę, że opcja python dla bieżących pakietów Debiana vim-gtk3i vim-gtknie jest już domyślnie dołączona.
jacob
@jacob masz na myśli, że obecny debian już nie obejmuje +python? Czy może to być debian przełączony na python3?
Christian Brabandt
4

W systemie Windows zawsze możesz pobrać najnowszą łataną wersję Vima 8.x skompilowaną z najnowszymi bibliotekami zewnętrznymi tutaj: Pobieranie Vima

W momencie publikacji najbardziej aktualnych wersji:

Ostatnia skompilowana aktualizacja: 23.02.2017

Wersja Vima: 8.0.0363 Dziennik poprawek

Użyte biblioteki: Perl 5.24.1, Python 2.7.12, Python 3.6.0, Racket 6.7, Ruby 2.4.0, Lua 5.3.3, Tcl 8.6.4 i libXpm

Scott Wade
źródło
3

Musisz zainstalować wersję Pythona w swoim systemie z taką samą bitowością (32-bitową lub 64-bitową) co vim. Python musi znajdować się w twojej ŚCIEŻCE. Jeśli możesz uruchomić go, wpisując pythonwiersz polecenia, powinieneś być dobry pod tym względem. Wreszcie vim musi zostać skompilowany w celu obsługi Pythona, ale z mojego doświadczenia wynika, że ​​większość z nich jest. Sprawdź :versioni poszukaj python/dyn. Musi mieć przed sobą plus.

Oktawor
źródło
2

Ponieważ może to zostać źle zinterpretowane przy włączeniu funkcji python3, uważam, że warto wspomnieć o tym linku do instalacji zgodnie z Twoimi potrzebami

Oto doskonałe przewodniki dla: * nix i windows .

Uwaga : Zwróć uwagę na każdą postać w instrukcji ./configure i przeczytaj uważnie (jakbyś spieprzył) przed zrobieniem tego. I czytaj do końca, nie ma sposobu, aby się zgubić

Powinieneś prawdopodobnie dodać to do ./configure:

--enable-fail-if-missing

Unikaj włączania zarówno Pythona 2, jak i 3

Nie spiesz się Jest to bardzo dobrze wyjaśniona procedura. Dziękuję Valloric

Federico Gallo
źródło
1

W systemie Mac OS X można użyć homebrewdo zainstalowania najpierw Pythona, a następnie vima, który to vim będzie obsługiwał Pythona.

Używam MBP, obsługi vima python/dynzainstalowanej w powyższy sposób, ale nie w tym python3.


# Usuń błędny ans 2017.2.28 10:38 #

qingchen
źródło
1
Nie jestem pewien, czy przeczytałem to poprawnie, czy nie, ale zauważ, że na stronie pomocy nigdy nie zobaczysz, czy twój Vim faktycznie obsługuje +pythonlub -python. Musisz zajrzeć:version
Christian Brabandt
@ChristianBrabandt masz rację. Dzięki za odpowiedź.
qingchen
1

Do instalacji serwera bez GUI należy użyć vim-noxzamiast tego.

apt install vim-nox

Geraldo Luis da Silva Ribeiro
źródło
1

Dla tych, którzy używają Pythona Anaconda, wymagane są dodatkowe modyfikacje. Mogą także chcieć skompilować vima, szczególnie jeśli chcesz uzupełnić kod. Oto polecenie konfiguracji:

Zmodyfikowane polecenie konfiguracji dla anakondy:

 ./configure --enable-terminal --enable-gui=auto \
      --with-features=huge \
      --enable-multibyte \
       --enable-cscope --enable-terminal --enable-gui=auto  \
      --prefix=/XXX/SOFTWARE/VIM8/install3 \
   --enable-python3interp \
   --with-python3-config-dir=/XXX/anaconda2/envs/py36/bin/python3.6-config \
   --includedir=/XXX/anaconda2/envs/py36/include  \
   --includedir=/XXX/anaconda2/envs/py36/include/python3.6m \
   LDFLAGS=" -L/XXX/anaconda2/envs/py36/lib -L/XXX/anaconda2/envs/py36/lib/python3.6/config-3.6m-x86_64-linux-gnu"

Tutaj vim jest instalowany w /XXX/SOFTWARE/VIM8/install3środowisku anaconda dla Pythona 3.6 zainstalowanego w/XXX/anaconda2/envs/py36

wander95
źródło