Підтримка Vim 8.0 Python


23

Я намагаюся оновити свою установку Vim до версії 8.0, але вона не підтримує і Python, і Python 3, як зображено нижче.

(PS: Через цю проблему я не можу зараз використовувати плагін YCM (YouCompleteMe).)

  1. Я встановив Vim 8.0, як у наступних командах.

  2. Я використовую Ubuntu 16.04 (Xenial Xerus).

Як я можу впоратися з цією проблемою?

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

Введіть тут опис зображення


1
Схоже, що версія Vim була складена без підтримки Python. Не дуже багато з цим можна зробити. Якщо ви хочете запустити останню версію Vim на Ubuntu, то компілювати її самостійно, мабуть, найпростіший варіант.
Мартін Турной

2
Жоден пітон, ні рубін, ні перл, ні буфер обміну…, який будувати дуже близький до марності. Що ви отримуєте, якщо встановите vim-gtkзамість vim?
romainl

1
@Carpetsmoker Як я можу скласти це самостійно? Чи можете ви пояснити трохи конкретніше чи даєте мені посилання?
Х’юн Хо Єо

@romainl Чи існує vim-gtk, який підтримує vim 8.0?
Х’юн Хо Єо

Так, у тому ппа.
romainl

Відповіді:


14

Пі-ро / DEV PPA тепер підтримує Vim 8, і , як і завжди, включає в себе підтримку 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

З пізнього часу, pi-rho/devPPA не оновлював складання Vim. Я використовую jonathonf/backportsPPA зараз:

$ 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

PPA також містить новіші версії кількох інших пакетів.


♦ Дякую, я використав vim-nox альтернативно. Я повинен спробувати цю.
Х’юн Хо Єо

як встановити vim8? я додав PPA, але виконання sudo apt-get install vimмене отримує vim7 без pythin
weima

@weima Ви зробили apt-get updateпісля додавання PPA?
Андрій Барсан

1
jonathonf / backports більше не створює vim
build

2
@PengheGeng вони перенесли його в окремий PPA ( jonathonf/vim)
муру

8

З вашого запитання випливає, що ви встановили vim-tiny 8.0, що є дуже мінімальним режимом роботи Vim без плагінів. Ви можете підтвердити це за допомогою цього:

dpkg -l | grep vim

Ви можете мати кілька режимів виконання Vim, але версія, що працює, коли ви це зробите, vimбуде версія, яку ви бачите, вказану тут:

update-alternatives --list vim

Ви можете перевірити інші версії. Моя пропозиція полягає в тому, щоб ви обирали між повноцінними версіями з підтримкою графічного інтерфейсу, і ви можете вибрати між vim-gtk2/vim-gtk3пакунками, або vim-noxце повна версія, але без графічного інтерфейсу.

Тепер, IIRC, повна версія Vim в Debian / Ubuntu не постачається одночасно з Python 2 AND Python 3 у версіях 7.x. Я не знаю, як справи з Vim 8, тому що я neovimзараз користуюся . Якщо це стосується вас, і вам знадобляться двигуни BOTH Python, підтримувані Vim 8 (це не буде вашим випадком використання YouCompleteMe; цей працює лише з підтримкою Python 2), тоді вам потрібно буде скласти з джерел власний Vim 8,0.


Ґрунти Спасибі, я встановив vim-nox, проте я б спробував скласти з джерел колись.
Х’юн Хо Єо

6

ви повинні використовувати

sudo apt-get install vim-nox

натомість отримати "величезну версію".


Я хочу використовувати vim 8.0 або новішу версію. Чи існує vim.nox, який підтримує це?
Х’юн Хо Єо

@HyunHoYeo виглядає як vim-nox в Ubuntu 16.04 - це vim 8.0 (ви можете перевірити після встановлення, зробивши, vim --versionі я отримавVIM - Vi IMproved 8.0 (2016 Sep 12, compiled Feb 05 2017 20:17:49)
jamescampbell

@jamescampbell Спасибі, я оновив свою Ubuntu до версії 16.04 і завантажив її.
Х’юн Хо Єо

5

Вам слід встановити vim з джерела. Таким чином, ви маєте контроль над тим, що включено. Щоб отримати докладнішу інформацію, перегляньте наступне та покрокове проходження. Це відносно легко.

https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
https://github.com/vim/vim

Будь ласка, уникайте публікації відповіді лише для посилання, оскільки це може змінитися в майбутньому, не залишаючи людей без відповіді на їх запитання. Принаймні, включіть істотні частини із пов’язаної сторінки.
EvergreenTree

5

Рішення 1:

  • Встановіть редактор VIM (встановіть будь-який із них з варіанту vim):

    • vim-gtk3 : - Цей пакет містить версію vim, складену з графічним інтерфейсом GTK3 та підтримку сценаріїв з Lua, Perl, Python, Ruby та Tcl. Щоб встановити цей пакет:

      sudo apt install vim-gtk3   
    • vim-gtk : - Цей пакет містить версію vim, складену з графічним інтерфейсом GTK2 та підтримку сценаріїв з Lua, Perl, Python, Ruby та Tcl. Щоб встановити цей пакет:

      sudo apt install vim-gtk   
    • vim-nox : - розширений редактор vi Як і vim-tiny, vim-nox - це мінімальна установка vim та підтримка сценаріїв з Lua, Perl, Python, Ruby та Tcl, але без GUI. Він постачається з підтримкою миші, але не підтримує буфер обміну, IIRC. Щоб встановити цей пакет:

      sudo apt install vim-nox
  • Встановити Vim як редактор за замовчуванням (якщо припустимо, що встановлений варіант - 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    

Рішення 2:

В іншому випадку ви можете компілювати Vim з вихідного коду (якщо ви використовуєте систему на базі Debian)

Підготуйте свою систему

  • Встановити

    sudo apt install libncurses5-dev \
    libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev python-dev \
    python3-dev git
  • Видаліть Vim, якщо він уже є

    sudo apt remove vim vim-runtime gvim  

налаштувати і зробити

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 

Підготовка пакету дебюту за допомогою реєстрації

  • І встановіть цей пакет

    cd /usr/vim && sudo checkinstall
  • Або, якщо ви хочете просто створити --install=noопцію використання пакета з перевіркою

Встановіть Vim як редактор за замовчуванням

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   

Переконайтеся, що ви використовуєте новий двійковий файл Vim, подивившись

vim --version | grep python

Посилання:
- Створення Vim з джерела
- реєстрація
- варіанти VIM


+1 заsudo apt install vim-nox
Філіп Гачуд

1

Щойно перевірено, доступний з PPA vim-nox (v. 8.1) був складений з Python 3 (тільки, не обидва, якщо вам справді потрібні обидва, я б радив перейти на Neovim).


0

Це лише для хлопців з Windows, які отримали подібний захист:

У Windows 64-розрядному ПОТРІБНО встановити ту ж версію бітового пітона, що і ваш VIM. тощо.

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

Інакше python2x.dll або python3x.dll НЕ буде завантажений.


OP використовував бінарний файл vim, який було складено без Python. Крім того, він використовує його в Linux, а не в Windows.
Герб Вулф

@HerbWolfe так, я знаю. Це може бути не правильно, але я ставлю це лише для деяких хлопців з Windows, які потрапили на цю посаду для вирішення. Я витратив години, щоб вирішити цю проблему, і хочу, щоб ті ж інші попрацювали над нею. Але дякую за нагадування.
Даніель Маленький
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.