Как включить + функцию 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
Энрике Г.Ф.

1
Для ваших собственных скомпилированных пакетов он должен быть установлен в / usr / local, а не / 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 

Подготовка пакета deb с помощью checkinstall

  • И установить этот пакет

    cd /usr/vim && sudo checkinstall
    
  • Или, если вы хотите просто создать --install=noвариант использования пакета с checkinstall

Установить 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 из источника
- checkinstall


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

Спасибо @ChristianBrabandt за комментарий, я обновлю свой ответ.
Финн

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

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

4

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

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

Последнее скомпилированное обновление: 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

Избегайте включения обоих Python 2 и 3

Не торопитесь. Это очень хорошо объясненная процедура. Спасибо Валлорику


1

В Mac OS X вы можете использовать homebrewдля установки сначала python, а затем vim, который vim будет поддерживать python.

Я использую MBP, поддержку vim, python/dynустановленную вышеуказанным способом, но не включающую python3.


# Удалить неправильный ответ 2017.2.28 10:38


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

@ КристианБрабандт, ты прав. Спасибо за ответ.
Qingchen


1

Для тех, кто использует Python Anaconda, требуются некоторые дополнительные модификации. Возможно, они захотят также скомпилировать vim, особенно если вы хотите дополнить код. Вот команда настройки:

Модифицированная команда configure для 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"

Здесь vim устанавливается с /XXX/SOFTWARE/VIM8/install3использованием среды anaconda для python 3.6, установленной в/XXX/anaconda2/envs/py36

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.