Como ativar o recurso + python no vim


17

Quero instalar um plug-in vim, esse plug-in precisa de um +pythonrecurso; portanto, quando abro o vim e digito :versionele é exibido -python. Como posso habilitá-lo?

Obrigado.

Respostas:


15

Você precisa compilar o Vim ou obter um pacote pré-construído do Vim que foi compilado com o suporte ao Python.

Se você estiver em um sistema baseado no Debian, a maneira mais fácil é fazer o download do pacote vim-gnome ou vim-gtk apt( apt install vim-gtkpor exemplo). Outras distribuições podem ter um pacote semelhante com suporte a python embutido.

Se você preferir compilar o Vim, faça o download do repositório do Vim e faça --enable-pythoninterpo seguinte:

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

No Windows, você pode obter o pacote Gvim aqui, que inclui suporte ao Python.



11
Para seus próprios pacotes compilados, ele deve ser instalado em / usr / local not / usr. Isso pode atrapalhar as coisas instaladas pelo gerenciador de pacotes. A melhor maneira de instalar as dependências é algo comoapt build-dep vim-nox
wbkang

6

Solução 1:

  • Instalar vim-gtkpacote

    sudo apt install vim-gtk   
    
  • Definir o Vim como editor padrão

    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    
    

Solução 2:

Caso contrário, você precisará compilar o Vim a partir do código fonte (assumindo que você esteja usando o sistema baseado em Debian)

Prepare seu sistema

  • Instalar

    sudo apt install libncurses5-dev \
    libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev python-dev \
    python3-dev git
    
  • Remova o Vim se você já possui

    sudo apt remove vim vim-runtime gvim  
    

configurar e fazer

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 

Preparando o pacote deb usando o checkinstall

  • E instale esse pacote

    cd /usr/vim && sudo checkinstall
    
  • Ou, se você quiser apenas criar uma --install=noopção de uso de pacote com checkinstall

Definir o Vim como editor padrão

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   

Verifique se você está executando o novo binário do Vim procurando

vim --version | grep python

Referência:
- Construindo o Vim a partir da Origem
- checkinstall


3
Em vez de vincular a alguma deb em um site aleatório da Internet, você deve recomendar a instalação do Vim oficial a partir do pacote Debian +pythondisponível. Eu acredito que este deve servim-gtk
Christian Brabandt

Obrigado @ChristianBrabandt pelo comentário, atualizarei minha resposta.
finn

@ChristianBrabandt Eu acredito que a opção python para os pacotes Debian atuais vim-gtk3e vim-gtknão está mais por padrão incluída.
27419

@jacob você quer dizer que o debian atual não inclui +pythonmais? Poderia ser debian alterado para python3?
Christian Brabandt

4

Para Windows, você sempre pode pegar a versão mais recente do Vim 8.x corrigida, compilada nas bibliotecas externas mais recentes aqui: Downloads do Vim

No momento da publicação das versões mais recentes:

Atualização mais recente compilada: 23-02-2017

Versão Vim: 8.0.0363 Registro oficial de patches

Bibliotecas usadas: 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 e libXpm


3

Você precisa instalar uma versão Python no seu sistema com o mesmo número de bits (32 ou 64 bits) que o seu vim. O Python precisa estar no seu PATH. Se você pode executá-lo digitando pythonem um prompt de comando, deve ser bom nesse aspecto. Finalmente, o vim precisa ser compilado para oferecer suporte a python, mas, na minha experiência, a maioria é. Verifique com :versione procure python/dyn. Ele precisa ter uma vantagem a sua frente.


2

Como isso pode ser mal interpretado com a ativação do recurso python3, considero útil mencionar este link para uma instalação de acordo com suas necessidades

Aqui estão excelentes guias para: * nix e windows .

Nota : Preste atenção a todos os caracteres nas instruções ./configure e leia com atenção (como se você estragasse tudo) antes de fazê-lo. E leia até o fim, não há como se perder

Você provavelmente deve adicionar isso a ./configure:

--enable-fail-if-missing

Evite ativar o python 2 e 3

Não tenha pressa Este é um procedimento muito, muito bem explicado. Obrigado a Valloric


1

No Mac OS X, você pode usar homebrewpara instalar primeiro o python e depois o vim, que suportará o python.

Eu uso o MBP, o suporte ao vim python/dyninstalado da maneira acima, mas não incluindo python3.


# Excluir ans ans 2017.2.28 10:38 #


11
Não tenho certeza se li isso corretamente ou não, mas observe que na página de ajuda, você nunca pode ver se o seu Vim realmente suporta +pythonou -python. Você tem que investigar:version
Christian Brabandt

@ChristianBrabandt você está certo. Obrigado pela sua resposta.
Qingchen


1

Para aqueles que usam o anaconda python, são necessárias algumas modificações adicionais. Eles também podem querer compilar o vim, especialmente se você deseja completar o código. Aqui está o comando configure:

Comando de configuração modificado para anaconda:

 ./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"

Aqui, o vim está sendo instalado para /XXX/SOFTWARE/VIM8/install3usar o ambiente anaconda para python 3.6 instalado no/XXX/anaconda2/envs/py36

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.