Prise en charge de Vim 8.0 Python

23

J'essaie de mettre à niveau mon installation Vim vers la version 8.0, mais elle ne prend pas en charge Python et Python 3 comme image ci-dessous.

(PS: En raison de ce problème, je ne peux pas utiliser le plug-in YCM (YouCompleteMe) maintenant.)

  1. J'ai installé Vim 8.0 comme dans les commandes suivantes.

  2. J'utilise Ubuntu 16.04 (Xenial Xerus).

Comment gérer ce problème?

sudo add-apt-repository ppa:jonathonf/vim
sudo apt update
sudo apt install vim

Entrez la description de l'image ici

Hyun Ho Yeo
la source
1
Il semble que cette version de Vim ait été compilée sans prise en charge de Python. Vous ne pouvez pas faire grand-chose à ce sujet. Si vous souhaitez exécuter la dernière version de Vim sur Ubuntu, la compiler vous-même est probablement l'option la plus simple.
Martin Tournoij
2
Pas de python, pas de rubis, pas de perl, pas de presse-papiers… cette construction est très proche de l'inutile. Qu'obtenez-vous si vous installez à la vim-gtkplace vim?
romainl
1
@Carpetsmoker Comment puis-je le compiler par moi-même? Pouvez-vous m'expliquer un peu en particulier ou en me donnant un lien?
Hyun Ho Yeo
@romainl Existe-t-il vim-gtk qui prend en charge vim 8.0?
Hyun Ho Yeo
Oui, dans ce ppa.
romainl

Réponses:

14

Le PPA pi-rho / dev prend désormais en charge Vim 8, et comme il l'a toujours fait, inclut la prise en charge de Python / Python3:

$ vim --version | grep python
+cryptv          +linebreak       +python/dyn      +vreplace
+cscope          +lispindent      +python3/dyn     +wildignore
$ apt-cache policy vim   
vim:
  Installed: 2:8.0.0134-1ubuntu1~ppa1~x
  Candidate: 2:8.0.0134-1ubuntu1~ppa1~x
  Version table:
 *** 2:8.0.0134-1ubuntu1~ppa1~x 500
        500 http://ppa.launchpad.net/pi-rho/dev/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status
     2:7.4.1689-3ubuntu1.2 500

Récemment, le pi-rho/devPPA n'a pas eu de versions Vim mises à jour. J'utilise jonathonf/backportsmaintenant le PPA:

$ vim --version | grep python
+comments          +libcall           -python            +vreplace
+conceal           +linebreak         +python3           +wildignore
$ apt-cache policy vim-gnome
vim-gnome:
  Installed: 2:8.0.1542-0york1~16.04
  Candidate: 2:8.0.1542-0york1~16.04
  Version table:
 *** 2:8.0.1542-0york1~16.04 500
        500 http://ppa.launchpad.net/jonathonf/vim/ubuntu xenial/main amd64 Packages
        500 http://ppa.launchpad.net/jonathonf/vim/ubuntu xenial/main i386 Packages
        100 /var/lib/dpkg/status
     2:7.4.1689-3ubuntu1.2 500
        500 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
     2:7.4.1689-3ubuntu1 500
        500 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

Le PPA contient également des versions plus récentes de plusieurs autres packages.

muru
la source
♦ Merci, j'ai utilisé vim-nox alternativement. Je devrais essayer celui-ci.
Hyun Ho Yeo
comment installer vim8? j'ai ajouté le PPA mais l'exécution sudo apt-get install vimme fait vim7 sans pythin
weima
@weima avez-vous fait un apt-get updateaprès avoir ajouté le PPA?
Andrei Bârsan
1
jonathonf / backports n'a plus de builds vim
Penghe Geng
2
@PengheGeng ils l'ont déplacé vers un PPA séparé ( jonathonf/vim)
muru
8

D'après votre question, il semble que vous ayez installé vim-tiny 8.0 qui est un runtime Vim très minimal sans plugins. Vous pouvez le confirmer en utilisant ceci:

dpkg -l | grep vim

Vous pouvez avoir plusieurs runtimes Vim, mais la version en cours d'exécution vimsera la version que vous pouvez voir indiquée ici:

update-alternatives --list vim

Vous pouvez vérifier d'autres versions. Ma suggestion est que vous décidiez entre les versions complètes avec prise en charge de l'interface graphique, et vous pouvez choisir entre les vim-gtk2/vim-gtk3packages ou vim-noxqui est une version complète, mais sans interface graphique.

Maintenant, IIRC, la version complète de Vim dans Debian / Ubuntu ne vient pas avec Python 2 ET Python 3 en même temps dans les versions 7.x. Je ne sais pas comment est le cas avec Vim 8, car j'utilise neovimmaintenant. Si c'est le cas pour vous et que vous allez avoir besoin des DEUX moteurs Python pris en charge par Vim 8 (ce ne sera pas votre cas pour l'utilisation YouCompleteMe; celui-ci ne fonctionne qu'avec le support Python 2), alors vous devrez compiler à partir de sources votre propre Vim 8.0.

Yonsy Solis
la source
Sols Merci, j'ai installé vim-nox, mais j'essaierais un jour de compiler à partir de sources.
Hyun Ho Yeo
6

Tu devrais utiliser

sudo apt-get install vim-nox

au lieu de cela, pour obtenir une "version énorme".

skywind3000
la source
Je souhaite utiliser vim 8.0 ou une version ultérieure. Existe-t-il vim.nox qui prend en charge cela?
Hyun Ho Yeo
@HyunHoYeo ressemble à vim-nox dans Ubuntu 16.04 est vim 8.0 (vous pouvez vérifier après l'installation en faisant vim --versionet je suis arrivéVIM - Vi IMproved 8.0 (2016 Sep 12, compiled Feb 05 2017 20:17:49)
jamescampbell
@jamescampbell Merci, j'ai mis à jour mon Ubuntu vers la version 16.04 et l'ai téléchargé.
Hyun Ho Yeo
5

Vous devez installer vim depuis la source. De cette façon, vous contrôlez ce qui est inclus. Voir ce qui suit pour plus d'informations et une procédure pas à pas. C'est relativement simple.

https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
https://github.com/vim/vim
Xero Smith
la source
Veuillez éviter de publier une réponse contenant uniquement des liens, car elle pourrait changer à l'avenir, laissant les personnes sans réponse à leur question. Incluez au moins les parties essentielles de la page liée.
EvergreenTree
5

Solution 1:

  • Installez l'éditeur VIM (installez l'un d'entre eux de la variante vim):

    • vim-gtk3 : - Ce paquet contient une version de vim compilée avec une interface graphique GTK3 et la prise en charge des scripts avec Lua, Perl, Python, Ruby et Tcl. Pour installer ce package:

      sudo apt install vim-gtk3   
    • vim-gtk : - Ce paquet contient une version de vim compilée avec une interface graphique GTK2 et la prise en charge des scripts avec Lua, Perl, Python, Ruby et Tcl. Pour installer ce package:

      sudo apt install vim-gtk   
    • vim-nox : - éditeur vi amélioré Comme vim-tiny, vim-nox est une installation et un support minimal de vim pour l'écriture de scripts avec Lua, Perl, Python, Ruby et Tcl mais pas d'interface graphique. Il est livré avec un support souris, mais pas de support presse-papiers, IIRC. Pour installer ce package:

      sudo apt install vim-nox
  • Définir Vim comme éditeur par défaut (en supposant que la variante installée est vim-gtk3 )

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

Solution 2:

Sinon, vous pouvez compiler Vim à partir du code source (en supposant que vous utilisez un système basé sur Debian)

Préparez votre système

  • Installer

    sudo apt install libncurses5-dev \
    libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev python-dev \
    python3-dev git
  • Supprimer Vim si vous en avez déjà

    sudo apt remove vim vim-runtime gvim  

configurer et faire

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 

Préparation du paquet deb à l'aide de checkinstall

  • Et installez ce package

    cd /usr/vim && sudo checkinstall
  • Ou, si vous souhaitez simplement créer une --install=nooption d' utilisation de package avec checkinstall

Définir Vim comme éditeur par défaut

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   

Vérifiez que vous exécutez le nouveau binaire Vim en regardant

vim --version | grep python

Références:
- Construire Vim à partir de la source
- checkinstall
- Variantes VIM

Finlandais
la source
+1 poursudo apt install vim-nox
Philippe Gachoud
1

Juste vérifié, le vim-nox (v. 8.1) disponible à partir du PPA avait été compilé avec Python 3 (seulement, pas les deux, si vous avez vraiment besoin des deux, je vous conseillerais de passer à Neovim).

Alex Fedotov
la source
0

Ce n'est que pour les gars de Windows qui ont obtenu la même chose:

Sous Windows 64 bits, vous DEVEZ installer la même version python que votre VIM. etc.

32bit vim => 32bit python
64bit vim => 64bit python

Sinon, python2x.dll ou python3x.dll ne sera PAS chargé.

Danniel Little
la source
OP utilisait un binaire vim qui a été compilé sans Python. De plus, il l'utilise sous Linux, pas Windows.
Herb Wolfe
@HerbWolfe oui, je sais. Ce n'est peut-être pas approprié, mais je l'ai mis ici juste pour certains gars de Windows qui ont frappé ce post pour trouver une solution. J'ai passé des heures à résoudre ce problème et je veux en parler aux autres. Mais merci pour le rappel.
Danniel Little