Як увімкнути функцію + python у vim


17

Я хочу встановити плагін vim, для цього плагіна потрібна +pythonфункція, тому коли я відкриваю vim та ввожу :versionйого, він відображається -python. Як я можу зробити так, щоб це включило?

Спасибі.

Відповіді:


15

Вам потрібно скласти Vim самостійно або отримати попередньо вбудований пакет Vim, який був складений з підтримкою Python.

Якщо ви перебуваєте на базі системи Debian, найпростіший спосіб - завантажити пакет vim-gnome або vim-gtk apt( apt install vim-gtkнаприклад,). Інші дистрибутиви можуть мати подібний пакет із вбудованою підтримкою python.

Якщо ви хочете скласти Vim самостійно, завантажте сховище Vim та введіть --enable-pythoninterpтак:

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

У Windows, ви можете отримати пакет GVim з тут , який включає в себе підтримку Python.


Спасибі. Я також знайшов це, vi.stackexchange.com/questions/10242/vim-8-0-python-support
Enrique GF

1
Для власних складених пакетів він повинен бути встановлений під / usr / local not / usr. Це може зіпсувати встановлений диспетчером пакетів матеріал. Найкращий спосіб встановити залежності - це щось на кшталтapt build-dep vim-nox
wbkang

6

Рішення 1:

  • Встановити vim-gtkпакет

    sudo apt install vim-gtk   
    
  • Встановіть Vim як редактор за замовчуванням

    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    
    

Рішення 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 від Source
- перевірка


3
Замість того, щоб посилатися на дебют на випадковому веб-сайті, вам слід скоріше рекомендувати встановити офіційний Vim з +pythonнаявного пакету Debian . Я вважаю, що це має бутиvim-gtk
Крістіан Брабандт

Дякую @ChristianBrabandt за коментар, я оновлю свою відповідь.
фін

@ChristianBrabandt Я вважаю, що параметр python для поточних пакетів Debian vim-gtk3і vim-gtkбільше за замовчуванням не включений.
jacob

@jacob ти маєш на увазі, що поточний debian більше не включає +python? Чи може Debian перейти на python3?
Крістіан Брабандт

4

Для Windows завжди можна взяти найновішу виправлену версію Vim 8.x, зібрану з останньою зовнішньою бібліотекою тут: Vim завантаження

На момент публікації найновіших версій:

Останнє складене оновлення: 2017-02-23

Версія Vim: 8.0.0363 Офіційний журнал патчів

Використовувані бібліотеки: 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 та libXpm


3

Вам потрібно встановити версію Python у вашій системі з тим самим бітом (32-бітним або 64-бітним), як і ваш vim. Python повинен бути у вашому PATH. Якщо ви можете запустити його, ввівши pythonкомандний рядок, ви повинні бути хорошими в цьому плані. Нарешті vim потрібно зібрати для підтримки python, але, на мій досвід, більшість є. Зверніться :versionі шукайте python/dyn. Потрібно мати плюс перед собою.


2

Оскільки це може бути неправильно інтерпретовано з включенням функції python3, я вважаю корисним згадати це посилання для установки відповідно до ваших потреб

Ось чудові посібники для: * nix & windows .

Примітка . Зверніть увагу на кожного символу в інструкції ./configure та уважно прочитайте (ніби ви накрутите), перш ніж це зробити. І читайте до кінця, немає можливості загубитися

Напевно, ви повинні додати це до ./configure:

--enable-fail-if-missing

Уникайте включення обох пітонів 2 та 3

Не витрачайте час Це дуже добре пояснена процедура. Дякую Валлоріку


1

На Mac OS X ви можете використовувати homebrewдля установки спочатку python, а потім vim, який vim підтримуватиме python.

Я використовую MBP, підтримку vim, python/dynвстановлену вище, але не включаючи python3.


# Видалити неправильну анс.2.28 10:38 #


1
Я не впевнений, чи правильно я це прочитав, чи ні, але зауважте, що на сторінці довідки ви ніколи не побачите, чи дійсно ваш Vim підтримує +pythonабо -python. Ви повинні подивитися:version
Крістіан Брабандт

@ChristianBrabandt ви праві. Спасибі за Вашу відповідь.
qingchen


1

Для тих, хто використовує анаконду пітон, потрібні деякі додаткові модифікації. Вони також можуть скомпілювати vim, особливо якщо ви хочете доповнити код. Ось команда налаштування:

Змінена команда настройки для анаконди:

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

Тут vim встановлюється з /XXX/SOFTWARE/VIM8/install3використанням середовища анаконда для встановленого в Python 3.6/XXX/anaconda2/envs/py36

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.