Cómo habilitar la función + python en vim


17

Quiero instalar un complemento vim, este complemento necesita una +pythonfunción, por lo que cuando abro vim y lo escribo :versionaparece -python. ¿Cómo puedo hacer que habilite?

Gracias.

Respuestas:


15

Necesita compilar Vim usted mismo u obtener un paquete Vim precompilado que se compiló con el soporte de Python.

Si está en un sistema basado en Debian, la forma más fácil es descargar el paquete vim-gnome o vim-gtk desde apt( apt install vim-gtkpor ejemplo). Otras distribuciones pueden tener un paquete similar con soporte de Python incorporado.

Si prefiere compilar Vim usted mismo, descargue el repositorio de Vim y páselo de la siguiente --enable-pythoninterpmanera:

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

En Windows, puede obtener el paquete Gvim desde aquí que incluye soporte para Python.



1
Para sus propios paquetes compilados, debe instalarse en / usr / local not / usr. Eso puede arruinar las cosas instaladas del administrador de paquetes. La mejor manera de instalar dependencias es algo asíapt build-dep vim-nox
wbkang

6

Solución 1:

  • Instalar vim-gtkpaquete

    sudo apt install vim-gtk   
    
  • Establecer Vim como editor predeterminado

    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    
    

Solución 2:

De lo contrario, debe compilar Vim a partir del código fuente (suponiendo que esté utilizando un sistema basado en Debian)

Prepara tu sistema

  • Instalar en pc

    sudo apt install libncurses5-dev \
    libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev python-dev \
    python3-dev git
    
  • Elimina Vim si ya tienes

    sudo apt remove vim vim-runtime gvim  
    

configurar y hacer

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 el paquete deb usando checkinstall

  • E instalar ese paquete

    cd /usr/vim && sudo checkinstall
    
  • O, si solo desea crear una --install=noopción de uso de paquete con checkinstall

Establecer Vim como editor predeterminado

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 que está ejecutando el nuevo binario de Vim mirando

vim --version | grep python

Referencia:
- Building Vim from Source
- checkinstall


3
En lugar de vincular a algunos deb en un sitio de Internet aleatorio, debería recomendar instalar el Vim oficial desde el paquete Debian que tiene +pythondisponible. Creo que esto debería servim-gtk
Christian Brabandt

Gracias @ChristianBrabandt por comentar, actualizaré mi respuesta.
finn

@ChristianBrabandt Creo que la opción de Python para los paquetes actuales de Debian vim-gtk3y vim-gtkya no está incluida por defecto.
jacob

@jacob quieres decir que debian actual ya no incluye +python? ¿Podría ser debian cambiado a python3?
Christian Brabandt

4

Para Windows, siempre puede obtener la última versión parcheada de Vim 8.x compilada con las últimas bibliotecas externas aquí: descargas de Vim

Al momento de publicar las versiones más actuales:

Última actualización compilada: 2017-02-23

Versión de Vim: 8.0.0363 Registro de parche oficial

Bibliotecas utilizadas: 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 y libXpm


3

Debe instalar una versión de Python en su sistema con el mismo bitness (32 bits o 64 bits) que su vim. Python necesita estar en tu RUTA. Si puede ejecutarlo escribiendo pythonen un símbolo del sistema, debería ser bueno en este sentido. Finalmente, vim necesita ser compilado para soportar Python, pero en mi experiencia la mayoría lo son. Consulte :versiony busque python/dyn. Necesita tener una ventaja por delante.


2

Dado que esto podría malinterpretarse con habilitar la función python3, considero útil mencionar este enlace para una instalación de acuerdo a sus necesidades

Aquí hay excelentes guías para: * nix y windows .

Nota : Preste atención a cada carácter en las instrucciones ./configure y lea cuidadosamente (como si se equivocara) antes de hacerlo. Y lee hasta el final, no hay forma de perderse

Probablemente deberías agregar esto a ./configure:

--enable-fail-if-missing

Evite habilitar Python 2 y 3

Tómese su tiempo Este es un procedimiento muy, muy bien explicado. Gracias a Valloric


1

En Mac OS X, puede usar homebrewpara instalar primero python y luego vim, que vim admitirá python.

Uso MBP, el soporte de vim python/dyninstalado de la manera anterior, pero no incluido python3.


# Eliminar mal y 2017.2.28 10:38 AM #


1
No estoy seguro si lo leí correctamente o no, pero tenga en cuenta que en la página de ayuda, nunca puede ver, si su Vim realmente es compatible +pythono no -python. Tienes que investigar:version
Christian Brabandt

@ChristianBrabandt tienes razón. Gracias por su respuesta.
qingchen


1

Para aquellos que usan anaconda python, se requieren algunas modificaciones adicionales. Es posible que también quieran compilar vim, especialmente si desea completar el código. Aquí está el comando de configuración:

Comando de configuración 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"

Aquí, vim se está instalando para /XXX/SOFTWARE/VIM8/install3usar el entorno anaconda para python 3.6 instalado en/XXX/anaconda2/envs/py36

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.