| tags: [ vim AdventCalendar ] categories: [ tips ]
Vim AdventCalendar 17日目
今回のVimconf2018でなんの成果も得られませませんでした!
訳: Vimconf2018行けなかった…
WindowsでVimのビルドしてみようか!
本当はVimconfの感想記事とか書こうと思ったのですがなんの成果も得られなかった為急遽別ネタを書きます。
msvc(VisualStudio)でビルドします。
ついでにpython3/terminalを有効にします。
(luaもrubyもperlも自分が使ってるプラグインには必要無いので…)
今回使用した環境
- Windows10
- 快適なネット接続環境
また、ビルドに使うマシンのスペックについてはVisualStudio 2017 CommunityEditionの システム要件に則ります。
てじゅーん
今回は D:\build-vim
以下にビルドに必要なものを放り込みます。
必要なものインストール
VS2017CE
今回はコミュニティエディションを使います。
- Microsoftのダウンロードページから コミュニティ をダウンロードして実行
- Nextを連打していくとインストールするコンポーネントを選択する画面が出るので、以下のコンポーネントを選択
- 「ワークロード」タブの「C++ によるデスクトップ開発」
Python3
既に純正PythonやAnacondaをインストールして使ってる人は特に追加で必要なものはありません。 初めてです!という人は以下のPythonをインストールして下さい
- ダウンロードページから Windows x86-64 executable installer をインストールして下さい
※ embededdableはvimのコンパイルに必要なヘッダファイルなどが無いので今回は使えません。
vim
現在vimはgithub上で開発が進められているので、git cloneすればおk
git clone https://github.com/vim/vim D:\build-vim\vim
ビルドする
毎回ビルドコマンド打つのもつらいので、今回はビルド用のbatファイルを作っておきます。
@echo off
set PATH=%SystemRoot%
set PATH=%PATH%;%SystemRoot%\System32
set INCLUDE=
set LIBPATH=
@call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
set PY3= PYTHON3="<<Python3インストール先ディレクトリ>>" PYTHON3_VER=36 DYNAMIC_PYTHON3=yes PYTHONThREEDLL=<<Python3インストール先ディレクトリ>>python36.dll
set OPT= CPU=AMD64 FEATURES=HUGE USE_MSVCRT=yes MAP=no IME=yes MBYTE=yes ICONV=yes XPM=no TERMINAL=yes DEBUG=no
set OPT2= %PY3%
pushd D:\build-vim\vim\src
rmdir /s /q ObjCULYHAMD64 ObjGXULYHAMD64
nmake -f Make_mvc.mak clean
nmake -f Make_mvc.mak %OPT% %OPT2% GUI=no
nmake -f Make_mvc.mak %OPT% %OPT2% GUI=yes DIRECTX=yes
Python3インストール先ディレクトリを変更して下さい。
また、途中nmakeを2回実行しているのはgvimとvimをそれぞれビルドしているからです。
上記ファイルを作り終わったらコマンドプロンプトから実行してみて下さい。
エラーが出ていなければ D:\build-vim\vim\src
配下にvim.exeとかgvim.exeが出来ているはずです。
配置
vimは実行ファイルの他にもいくつか必要なファイルがあるため、それを配置します。
今回は C:\vim
への配置を例にしてみます。
XCOPY /D /S /R /Y /I D:\build-vim\vim\runtime\* C:\vim\vim81\
pushd D:\build-vim\vim\
move src\*.exe C:\vim\
COPY vimtutor* C:\vim\
テーレッテレー!
C:\vim
にパスを通しておけばいつでも最新のvimが使えますね!
ちなみに私は毎朝ログイン時にビルドバッチが走るようにしています。(vimのそーす更新もbatに入れ込めばおk)
まとめ
@echo off
set PATH=%SystemRoot%
set PATH=%PATH%;%SystemRoot%\System32
set INCLUDE=
set LIBPATH=
@call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
set PY3=PYTHON3="<<Python3インストール先ディレクトリ>>" PYTHON3_VER=36 DYNAMIC_PYTHON3=yes PYTHONThREEDLL=<<Python3インストール先ディレクトリ>>python36.dll
set OPT=CPU=AMD64 FEATURES=HUGE USE_MSVCRT=yes MAP=no IME=yes MBYTE=yes ICONV=yes XPM=no TERMINAL=yes DEBUG=no
set OPT2=%PY3%
pushd D:\build-vim\vim\src
nmake -f Make_mvc.mak clean
nmake -f Make_mvc.mak %OPT% %OPT2% GUI=no
nmake -f Make_mvc.mak %OPT% %OPT2% GUI=yes DIRECTX=yes
pushd D:\build-vim\vim\
XCOPY /D /S /R /Y /I runtime\* C:\vim\vim81\
move src\*.exe C:\vim\
COPY vimtutor* C:\vim\
ビルドと移動を一纏めにしたものです。
私の環境だとこれで問題無いのですが、実は昔に必要なものを入れていて上記設定だけだと足りないみたいな事があるかもしれないので、
なにかあったら修正コメントなんでも下さい!!
来年はVimconf行きたい…