Pythonのモジュールをプラグインに同梱して配布する
作者: 小見 拓
—
最終変更
2012年01月08日 12時13分
Pythonのモジュールをプラグインに同梱して配布する
例えば、runtimepathのpluginディレクトリ以下に、chardetというモジュールを置くことを想定するなら、
$VIMRUNTIME | +-- plugin/ | +-- some-plugin.vim ... pythonを使用するプラグイン | +-- plugin/chardet/ ... chardet Pythonモジュール +-- __init__.py +-- some1.py +-- some2.py
パスを特定後、site.addsitedir()でモジュールのパスを追加する。
" モジュールのパスを特定する for i in split(globpath(&runtimepath, "plugin/chardet/__init__.py"), 'n') let adding_pythonpath = fnamemodify(i, ":p:h:h") endfor " Pythonのsite.addsitedir()で、モジュールのパスを追加する python << EOF from vim import * import vim import site site.addsitedir(vim.eval('adding_pythonpath')) EOF " その後、モジュールを読み込み、処理を行う python << EOF import chardet " do some thing " do some thing " do some thing EOF