VimでPythonインターフェースを使う


VimでPythonインターフェースを確認する

Python:

vimでPython2が認識されているかの確認:

:echo has('python')
→認識されている場合は「1」、認識されていない場合、「0」が表示される。
→「0」の場合は、↓の「VimでPythonインターフェースを有効にする場合の確認項目」を参照
→「Runtime Error!」が発生する場合は、↓の「「:echo has(‘python’)」で「Runtime Error!」(R6034)が発生する場合」を参照

注釈

Python3系は、「:echo has(‘python3’)」で確認する。

VimでPythonインターフェースを有効にする場合の確認項目

1.Vimの確認:使用しているVimがPythonに対応しているかの確認

Vimを起動して以下のコマンドを入力:

:version
→「+python/dyn」があれば、Python2系が使える
→「+python3/dyn」があれば、Python3系が使える
2.DLLの確認:使用しているVimがどのDLL名を検索するかの確認

Vimで自分自身の実行ファイル(gvim.exe)を開く:

:e gvim.exe

Vimが使用するDLL名を検索する:

/python\d\*.dll\c
→例:「python27.dll」や「python33.dll」などがヒットする
3.アーキテクチャーの確認:使用しているVimとPythonが同じビット幅(32bit or 64bit)かの確認

Vimは「:version」で確認:

:version

Pythonは起動すれば確認できる:

C:\>python
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
→VimとPythonが同じビット幅でない場合、「:echo has(‘python’)」は「0」を返す。
4.検索パスの確認:Pythonが検索パスにあるかの確認
C:\>set | findstr /I python
Path=C:\Portable Python 2.7.5.1\App;C:\Portable Python 2.7.5.1\App\Scripts;

C:\>
→「2.」でヒットしたDLLが検索パスにない場合、「:echo has(‘python’)」は「0」を返す。

「:echo has(‘python’)」で「Runtime Error!」(R6034)が発生する場合

「Microsoft Visual C++ Runtime Library」の「Runtime Error!」(R6034)が発生する場合

警告

gvimのマニフェストを書き換える

便宜上、
%MICROSOFT_SDKS% = C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin
%VIM_HOME% = C:\Program Files\vim
%PYTHON_HOME% = C:\Portable Python 2.7.5.1\App

1.gvimのマニフェストを抽出する

C:\>%MICROSOFT_SDKS%\mt.exe -inputresource:%VIM_HOME%\gvim.exe -out:gvim.manifest

2.python.exeのマニフェストを抽出する

C:\>%MICROSOFT_SDKS%\mt.exe -inputresource:%PYTHON_HOME%\python.exe -out:python.manifest

3.テキストエディターで以下の内容あたりを置き換える(python.manifest → gvim.manifest)

<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
もしくは、
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"></assemblyIdentity>

4.新しいgvimのマニフェストを埋め込む

C:\>%MICROSOFT_SDKS%\mt.exe -manifest gvim.manifest -outputresource:gvim.exe