kotonoha_pcg@気ままに雑記

kotonoha_pcgが気分次第で様々書き置きます.dlang関係他:http://kotonoha-pcg.hatenadiary.com

VimをWindows(VC++2017)でコンパイルする

 kaoriya版最新版の8.0.0596ではshellでcmdを開けるものの,画面分割では無い.また,場合によっては別ウィンドウの方を閉じなければならないと面倒だったので,単純に最新版のVim組み込みterminalが使いたくて自分でコンパイルしてみた.持ってるマシンも大学の環境も64bitなので,x86_amd64コンパイルしている.使用ツールは以下の通り.

  • VisualStudio2017 Community版(インストール済み)
  • github.com/vim/vim を使用
  • cmd.exe
  • msys2(amd64)  ---msys2はmingw64を使用

環境


1. 下準備

 msys2はまっさらなインストール状態からpacmanで次を叩く(一部重複有) :

base-devel
msys2-devel
mingw-w64-x86_64-boost
mingw-w64-x86_64-toolchain
git

gitのインストール時にVimも入っていくが,ここでのmsys2の役割はwinptyのコンパイルなのでこれも気にしない.


2. winptyのコンパイル

 ここまででwinpty-master/build/にwinpty.dll,exe,lib,winpty-agent.exe, winpty-debugserver.exeの少なくとも5つが生成されていることを確認する.

configureでのエラー

 最初これがうまくいかず数週間放置してたが,普通にパッケージインストールして「/bin/mingw64で」叩けば普通に出る.

f:id:kotonoha_pcg:20180505132636p:plain


3. vimコンパイル

  • 1.で次を叩く :
nmake -f Make_mvc.mak GUI=yes IME=yes MBYTE=yes ICONV=yes CSCOPE=yes NETBEANS=yes DEBUG=no

gvim.exe他が生成される.GUI=noにするとvim.exeも生成される.面倒なのでバッチファイルにして入れておく.


4. ディレクトリを作る


5. 完成

f:id:kotonoha_pcg:20180505132633p:plain f:id:kotonoha_pcg:20180505132658p:plain


6. 課題

  • terminalが使えることだけを優先したので,ruby,perl,python,そしてluaは入れてない.

まとめ

 意外と簡単だった.Linuxだと毎週ビルド挟んでるので,これでWinでも同じようにできる.

...プラグインに続く...

参考

Visual Studio 2013 で Vim をビルドする - Qiita vim-jp » VisualStudioを使ってのビルド方法 Vimに:terminalが実装され、Windowsではコマンドプロンプトが動くと知り試してみた - non vorrei lavorare GitHub - rprichard/winpty: A Windows software package providing an interface similar to a Unix pty-master for communicating with Windows console programs. Vim/GVimのビルドと実行環境の作成 - fudist