Windows使いであれば 香り屋版Vimを使っているVimmerは多いと思う。
最近、neovimに移行したり、
上記プラグインの移行を試みたりしてみた。
GUI版VIMを使わざるえないWindows環境で vim-singletonが使えないのは厳しく、また、個人的に試した中では neovim-qtは安定しているとは言い難い。
Vim8であればterminal
が使えるし、set transparency=220
すれば透過できる、そしてPythonを利用したプラグインも利用可なので、そんなにneovimに拘る必要はないかなぁと思ってる。
とはいえ、 香り屋版Vim1でPythonを利用するプラグインを利用するのに、ちょこちょこ詰まったのでメモ。
まず、当たり前だが、 Pythonをインストール。
- Windows x86-64 embeddable zip file
- Windows x86-64 executable installer
とかあるけど、zipだとScriptsフォルダ、pipとが入ってないので、インストーラー版を選んだほうが良い。ここではpython-3.6.5-amd64.exeをダロンロード・インストール。
インストール後、python.exeの親フォルダまでのパス それから、 Scripts\pip.exeの親フォルダまでのパス を環境変数のPATHに追加する。
そして、使うのはneovimではないが、pip install neovim
をコマンドプロンプトで叩いてneovim用のpythonパッケージをインストールする。
いざ利用しようとecho has('python3')
で有効化を確認するも有効化になってない…
VimとPythonのバージョン — KaoriYaにあるとおりpy3 print(sys.version)
を実行すると
E370: ライブラリ python35.dll をロードできませんでした
E263: このコマンドは無効です、ごめんなさい: Pythonライブラリをロードできませんでした.
なエラーメッセージが出るので 香り屋版Vimでコンパイル時に指定されている有効なPythonのバージョンが3.5だと分かる。もしパージョンが合っているのに、同様のエラーが出る場合は、64bitと32bitとの差異があると思われる。有効ならば以下のようなメッセージが表示される。
3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 16:02:32) [MSC v.1900 64 bit (AMD64)]
となると、 defx.nvimといった
defx requires Python3.6.1
3.6以上のpythonを必要とするプラグインが使用できない。その場合、set pythonthreedll
2といったオプションを使えば
set pythonthreedll=C:\Python36\python36.dll
Python 3 共有ライブラリの名前を指定できる。
これでpy3 print(sys.version)
を実行すると
3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)]
となり、3.5より最新のPython3を利用することができる。
ちなみに download : vim onlineから配布している32bit版Vimは、コンパイル時に指定された DYNAMIC_PYTHON3_DLL の値が3.7となっているが、64bit版のメンテナンスは中止されている。
-
VIM - Vi IMproved 8.1 (2018 May 17, compiled May 20 2018 12:40:33) ↩︎