Vim 8.0 Python 지원


23

Vim 설치를 버전 8.0으로 업그레이드하려고하는데 아래 이미지와 같이 Python과 Python 3을 모두 지원하지 않습니다.

(PS :이 문제 때문에 지금 YCM (YouCompleteMe) 플러그인을 사용할 수 없습니다.)

  1. 다음 명령과 같이 Vim 8.0을 설치했습니다.

  2. 우분투 16.04 (Xenial Xerus)를 사용하고 있습니다.

이 문제를 어떻게 처리 할 수 ​​있습니까?

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

여기에 이미지 설명을 입력하십시오


1
해당 버전의 Vim이 Python 지원없이 컴파일 된 것 같습니다. 그것에 대해 할 수있는 일이 많지는 않습니다. Ubuntu에서 최신 Vim 버전을 실행하려면 직접 컴파일하는 것이 가장 쉬운 옵션입니다.
Martin Tournoij

2
파이썬도, 루비도없고, 펄도없고, 클립 보드도없고… vim-gtk대신 설치하면 무엇을 얻을 수 vim있습니까?
romainl

1
@Carpetsmoker 직접 컴파일하려면 어떻게해야합니까? 좀 구체적으로 설명하거나 링크를 제공 할 수 있습니까?
Hyun Ho Yeo

@romainl vim 8.0을 지원하는 vim-gtk가 있습니까?
Hyun Ho Yeo

그렇습니다.
romainl

답변:


14

파이, ρ는 / dev PPA 이제 빔 (8)가 지원하고 항상있다처럼, 파이썬 / 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/backports지금 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

PPA에는 다른 여러 패키지의 최신 버전도 포함되어 있습니다.


♦ 감사합니다. vim-nox를 대신 사용했습니다. 나는 이것을 시도해야한다.
Hyun Ho Yeo

vim8을 설치하는 방법? 나는 PPA를 추가했지만 실행 sudo apt-get install vim얻는다 나 pythin없이 vim7
WEIMA

@weima apt-get updatePPA를 추가 한 후 작업을 수행 했 습니까?
Andrei Bârsan

1
jonathonf / backports에 더 이상 vim 빌드가 없습니다
Penghe Geng

2
@PengheGeng 그들은 그것을 별도의 PPA ( jonathonf/vim)
muru

8

귀하의 질문에 따르면 플러그인이없는 매우 작은 Vim 런타임 인 ​​vim-tiny 8.0을 설치 한 것으로 보입니다. 이것을 사용하여 이것을 확인할 수 있습니다 :

dpkg -l | grep vim

여러 Vim 런타임을 가질 수 있지만 실행시 실행 vim되는 버전은 여기에 표시된 버전이됩니다.

update-alternatives --list vim

다른 버전을 확인할 수 있습니다. 내 제안은 GUI를 지원하는 정식 버전을 결정하고 vim-gtk2/vim-gtk3패키지가 없거나 vim-nox정식 버전이지만 GUI가없는 패키지를 선택할 수 있다는 것입니다.

이제 Debian / Ubuntu의 Vim 정식 버전 IIRC에는 7.x 버전의 Python 2와 Python 3이 동시에 제공되지 않습니다. Vim 8의 경우는 어떻습니까? neovim지금 사용하기 때문 입니다. 이것이 당신에게 해당하고 Vim 8에서 지원하는 Python 엔진이 모두 필요하다면 (이것은 귀하의 경우가 아니며 YouCompleteMe, Python 2 지원에서만 작동합니다) 소스에서 자신의 Vim을 컴파일해야합니다 8.0.


토양 감사합니다. vim-nox를 설치했지만 언젠가 소스에서 컴파일하려고합니다.
Hyun Ho Yeo

6

당신은 사용해야합니다

sudo apt-get install vim-nox

대신 "거대한 버전"을 구하십시오.


vim 8.0 이상을 사용하고 싶습니다. 그것을 지원하는 vim.nox가 있습니까?
Hyun Ho Yeo

우분투에서 VIM-질소 산화물 같은 외모 @HyunHoYeo 16.04 정력 8.0 (당신은 후 확인 수행하여 설치할 수 있습니다 vim --version내가있어VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Feb 05 2017 20:17:49)
jamescampbell

@ jamescampbell 감사합니다. 우분투를 16.04 버전으로 업그레이드하고 다운로드했습니다.
Hyun Ho Yeo

5

소스에서 vim을 설치해야합니다. 이렇게하면 포함 된 내용을 제어 할 수 있습니다. 자세한 내용과 단계별 안내는 다음을 참조하십시오. 비교적 쉽습니다.

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

링크 전용 답변은 향후 변경 될 수 있으므로 질문에 대한 답변이없는 사람들은 남겨 둘 수 있으므로 링크 전용 답변을 게시하지 마십시오. 최소한 링크 된 페이지의 필수 부분을 포함 시키십시오.
EvergreenTree

5

해결책 1 :

  • VIM 편집기 설치 (vim 변형 중 하나 설치) :

    • vim-gtk3 :-이 패키지는 GTK3 GUI로 컴파일 된 버전의 vim을 포함하고 있으며 Lua, Perl, Python, Ruby 및 Tcl을 사용한 스크립팅을 지원합니다. 이 패키지를 설치하려면 다음을 수행하십시오.

      sudo apt install vim-gtk3   
    • vim-gtk :-이 패키지는 GTK2 GUI로 컴파일 된 버전의 vim을 포함하고 있으며 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을 컴파일 할 수 있습니다 (데비안 기반 시스템을 사용한다고 가정)

시스템 준비

  • 설치

    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 

checkinstall을 사용하여 deb 패키지 준비

  • 그리고 그 패키지를 설치하십시오

    cd /usr/vim && sudo checkinstall
  • 또는 --install=nocheckinstall을 사용하여 패키지 사용 옵션을 만들려면

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

참고 :
- 소스에서 건물 빔
- 에서는 checkinstall이
- VIM 변종


+1sudo apt install vim-nox
Philippe Gachoud

1

그냥 확인, Vim은 탈질 PPA를에서 사용할 수 (V. 8.1)는 파이썬 3으로 컴파일했다 (단지, 둘, 당신이 경우 정말 내가 Neovim로 전환 할 권합니다 모두 필요).


0

이것은 비슷한 확신을 가진 Windows 사용자에게만 해당됩니다.

Windows 64 비트에서는 VIM과 동일한 비트 Python 버전을 설치해야합니다. 기타

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

그렇지 않으면 python2x.dll 또는 python3x.dll이로드되지 않습니다.


OP는 Python없이 컴파일 된 vim 바이너리를 사용하고있었습니다. 또한 그는 Windows가 아닌 Linux에서 사용하고 있습니다.
Herb Wolfe

@HerbWolfe 예, 알고 있습니다. 그것은 적절하지 않을 수도 있지만 해결책을 위해이 게시물을 치는 일부 Windows 용으로 여기에 넣었습니다. 나는이 문제를 해결하기 위해 몇 시간을 보냈고 다른 사람들과도 같은 시간을 보내고 싶습니다. 그러나 상기시켜 주셔서 감사합니다.
다니엘 리틀
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.