Python 3 지원으로 Vim을 얻는 가장 쉬운 방법은 무엇입니까?


19

우분투 14.04가 설치되어 있으며 Vim은 파이썬 3 지원없이 컴파일됩니다. 이 때문에 Python-mode 플러그인은 Python 3 코드와 함께 작동하지 않습니다. Python 3 지원으로 Vim을 얻는 가장 쉬운 방법은 무엇입니까?

답변:


16

데비안 기반 시스템에서는 (적어도) 케이크를 가지고 먹을 수도 없습니다. Python 2 또는 Python 3입니다 . Python 라이브러리의 빌드 방식으로 인해 Vim 세션 내에서 하나의 변형 만 사용할 수 있습니다. 당신은 할 수 있습니다 모두 구축하지만, 파이썬 (2) 빔에 호출되는 경우, 다음 파이썬 3는 같은 세션에서 호출하고, 그 반대의 경우도 마찬가지 할 수 없습니다. 아치 리눅스에서도 Vim은 Python 2 ( vim, gvim) 또는 Python 3 ( vim-python3, gvim-python3) 중 하나로 컴파일됩니다 .


16.04 이전

저장소가 제공하는 Vim을 재 빌드하려면 다음을 수행하십시오.

sudo apt-get build-dep vim
apt-get source vim
cd vim-*  # it will be vim-7.4.something

편집 debian/rules및 교체 :

ALLINTERPFLAGS+=--enable-pythoninterp --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--disable-python3interp

와:

ALLINTERPFLAGS+=--enable-pythoninterp=dynamic --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--enable-python3interp=dynamic --with-python3-config-dir=$(shell python3-config --configdir)

그런 다음 다음을 실행하십시오.

dpkg-buildpackage -us -uc

점심 먹자. (또는 차를 사용한 경우 -j $(nproc))

이제 .deb상위 디렉토리에 여러 파일이 작성되었습니다. 어느 것을 보려면 :

cd ..
ls vim*.deb

특정 변종과 함께 설치하고자하는 ( vim, vim-gnome, vim-gtk, 등)를 설치해야합니다 vim-common_*.deb, vim-runtime_*.deb그리고 GUI 버전, vim-gui-common_*.deb. 예를 들어, 리포지토리 vim-gnome의 with 및 현재 버전은 다음 vim과 같습니다.

sudo dpkg -i vim-gnome_7.4.052-1ubuntu3_amd64.deb vim-common_7.4.052-1ubuntu3_amd64.deb vim-gui-common_7.4.052-1ubuntu3_all.deb vim-runtime_7.4.052-1ubuntu3_all.deb

그때:

$ vim --version | grep python
+cryptv          +linebreak       +python/dyn      +viminfo
+cscope          +lispindent      +python3/dyn     +vreplace

파이 (ρ)는 / dev에 PPA는 수동으로 구축하는 대신 PPA를 사용할 수 있도록,이 방식으로 빔을 구축합니다.


16.04

16.04 현재 Ubuntu는 Python 3 지원으로 Vim을 빌드합니다. 파이썬 2 지지체가 제공된다 패키지 ( , 등).-py2vim-nox-py2vim-gnome-py2


관련 :


이 방법으로 컴파일 된 Vim은 pymode 함수를로드하려고 할 때 오류가 발생합니다.이 Vim은 : python을 사용한 후 : py3을 실행할 수 없습니다. 우분투 대신 젠투를 사용할 때 vim은 python 3을 사용했지만이 문제는 없었습니다.
CrabMan

@CrabMan 첫 번째 단락을 읽으십시오.
muru

@CrabMan 당신이 시도 할 수있는 것은 Python3으로 만 빌드하는 것입니다 (필수적으로 이미 존재하는 줄에서 python3과 python을 바꾸는 것). 그러면 python2를로드하려고 시도한 모든 것이 실패합니다.
muru

YouCompleteMe를 사용할 수 없음 : Python 2.x 지원으로 컴파일 된 Vim이 필요합니다. 필자가 사용하는 가장 중요한 vim 확장 중 하나이므로 옵션이 아닙니다.
CrabMan

또한 내가 이해하는 한 내 .vimrc에 "py3 3"행을 포함시킬 수 있으며 python3 지원으로 vim을 컴파일하는 것과 동일한 효과가 있습니다.
CrabMan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.