Відповіді:
Здається, що в системах на базі Debian (принаймні) ви не можете мати свій торт і їсти його теж. Це або Python 2, або Python 3. Завдяки тому, як побудовані бібліотеки Python , ви можете використовувати лише один варіант у сесії Vim. Ви можете побудувати з обох, але якщо Python 2 викликається у Vim, Python 3 не може бути викликаний за один і той же сеанс, і навпаки. В Arch Linux також Vim компілюється лише з одним із Python 2 ( vim
, gvim
) або Python 3 ( vim-python3
, gvim-python3
).
Щоб відновити 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
і поточною версією 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 будує Vim таким чином, так що ви можете використовувати PPA замість ручного побудови.
Станом на 16.04, Ubuntu будує Vim із підтримкою Python 3. Підтримка Python 2 надається в -py2
пакетах ( vim-nox-py2
, vim-gnome-py2
і т.д.).
Пов'язані: