Python 3をサポートしたVimを入手する最も簡単な方法は何ですか?


19

Ubuntu 14.04がインストールされており、リポジトリ内のVimはPython 3サポートなしでコンパイルされています。そのため、PythonモードプラグインはPython 3コードでは機能しません。Python 3をサポートしたVimを入手する最も簡単な方法は何ですか?

回答:


16

Debianベースのシステムでは(少なくとも)ケーキを持って食べられないようです。Python 2またはPython 3のいずれかです。Pythonライブラリの構築方法により、Vimセッション内で使用できるバリアントは1つのみです。両方でビルドできます、VimでPython 2を呼び出す場合、同じセッションでPython 3を呼び出すことはできません。逆の場合も同様です。Arch Linuxでも、VimはPython 2(vimgvim)またはPython 3(vim-python3gvim-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

特定の変異体に加えて、インストールする(vimvim-gnomevim-gtk、など)、インストールする必要がありますvim-common_*.debvim-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

PI-rhoが/ devのPPAは、あなたがそれを手動で構築するのではなく、PPAを使用することができますので、この方法でVimを構築します。


16.04

16.04現在、UbuntuはPython 3をサポートするVimをビルドしています。Pythonの2のサポートは、によって提供されたパッケージ(、など)。-py2vim-nox-py2vim-gnome-py2


関連:


この方法でコンパイルされたVimは、pymode関数をロードしようとするとエラーになります。このPythonは、:pythonを使用した後に:py3を実行できません。Ubuntuの代わりにGentooを使用していたとき、vimはpython 3を使用していましたが、この問題は存在しませんでした。
クラブマン

@CrabMan最初の段落を読みます。
ムル

@CrabMan試すことができるのは、Python3のみでビルドすることです(基本的に、既存の行でpython3とpythonを入れ替えます)。その後、python2を読み込もうとしたものはすべて失敗します。
ムル

YouCompleteMeは利用不可:Python 2.xサポートでコンパイルされたVimが必要です。私が使用する最も重要なvim拡張機能の1つだと思うので、これはオプションではありません。
クラブマン

また、私が理解している限り、.vimrcに「py3 3」行を含めるだけで、python3サポートのみでvimをコンパイルするのと同じ効果があります。
クラブマン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.