Vim メモ

Windows でのビルド

概要

どのソフトウェアでも同じですが:

が必要です。それぞれについて詳細を詰めていきます。

ソースコードとビルドツールの準備

C:\Vim で作業をします。スタートメニューなどからコマンドラインを開いて: cmd フォルダ C:\Vim を作ります: mkdir C:\Vim フォルダ内に移動して、準備を始めます: cd C:\Vim

Git の取得

https://github.com/git-for-windows/git/releases/ にある PortableGit-2.21.0-64-bit.7z.exe をダウンロード、ダブルクリックで実行してください。バージョン番号 (ここでは 2.21.0) は読みかえる必要があるかもしれません。

展開先のフォルダ名を入力し (ここでは C:\Vim\PortableGit) 、C:\Vim フォルダの中に展開します。(本来的に展開先としてふさわしいフォルダは別の場所にありますが、説明を簡単にするため C:\Vim としました)

gettext/iconv の取得

https://github.com/mlocati/gettext-iconv-windows/releases にある gettext0.19.8.1-iconv1.15-shared-64.zip をダウンロードし、C:\Vim\gettext64 にすべて展開します。

Build Tools for Visual Studio 2019 の取得

https://visualstudio.microsoft.com/ja/downloads/ にある「すべてのダウンロード」内「Visual Studio 2019 のツール」から Build Tools for Visual Studio 2019 をダウンロード、インストールを行います。インストール先フォルダはどこでもかまいません。「C++ Build Tools」を含めたインストールを行ってください。

プログラムを起動できるよう設定する

開いてあるコマンドラインから以下のように入力します: echo set PATH=^%PATH^%;C:\Vim\PortableGit\cmd > C:\Vim\env.cmd

Vim のソースコードを取得

まず、以下のように入力してコマンドラインを閉じます: exit

スタートメニューの Visual Studio 2019 フォルダ内 x64 Native Tools Command Prompt for VS 2019 を選択し、新しいコマンドラインを開きます。以下のように入力し、C:\Vim に移動してください: cd C:\Vim 以下のように入力すれば、以後 git を利用できるよう設定されます: env git を利用して Vim のソースコードを取得します: git clone https://github.com/vim/vim --depth=1 C:\Vim\vim フォルダにソースコードが展開されました。

ビルド

ビルドが必要なのは、プログラムと、言語ごとのメッセージテキストファイルです。

プログラムのビルド

C:\Vim\vim\src フォルダに移動します: cd C:\Vim\vim\src 以下のように入力すると、ビルドが始まります。( ) は読みかえてください: nmake /f Make_mvc.mak CPU=AMD64 GUI=(yes/no) コンソール版 vim.exe をビルドするなら: nmake /f Make_mvc.mak CPU=AMD64 GUI=no GUI 版 gvim.exe をビルドするなら: nmake /f Make_mvc.mak CPU=AMD64 GUI=yes とします。

メッセージテキストファイルのビルド

メッセージテキストファイルは C:\Vim\vim\src\po フォルダにあるので、移動します: cd C:\Vim\vim\src\po 以下のように入力してください: for %I in (*.po) do nmake /f Make_mvc.mak %~nI.mo "GETTEXT_PATH=C:\Vim\gettext\bin"

生成したバイナリファイルの配置

プログラムの配置

プログラム vim.exegvim.exe のあるフォルダ C:\Vim\vim\src へ移動します: cd C:\Vim\vim\src プログラムをフォルダ C:\Vim\Vim81 に配置したいのでフォルダを作ります: mkdir C:\Vim\Vim81 そのフォルダに移動しておきます: cd C:\Vim\Vim81 周辺ツールの tee.exe をコピーします: copy /y C:\Vim\vim\src\tee\tee.exe 同様に xxd.exeもコピーします: copy /y C:\Vim\vim\src\xxd\xxd.exe フォルダ C:\Vim\vim\runtime の中身をすべてコピーします: xcopy C:\Vim\vim\runtime C:\Vim\Vim81 /E /H /I /Y プログラムをコピーします: copy /y C:\Vim\vim\src\*.exe

gettext/iconv の配置

gettext (libintl) をコピーします: copy /y C:\Vim\gettext64\bin\libintl-8.dll iconv をコピーします: copy /y C:\Vim\gettext64\bin\libiconv-2.dll gvimext をコピーする先のフォルダを作成します: mkdir GvimExt64 gvimext をコピーします: copy /y C:\Vim\vim\src\GvimExt\gvimext.dll GvimExt64 さらにコピーしておきます: copy /y lib*.dll GvimExt64

メッセージテキストファイルの配置

メッセージテキストファイルがあるフォルダに移動します: cd C:\Vim\vim\src\po 以下のように入力してください: for %I in (*.mo) do nmake /f Make_mvc.mak install LANGUAGE=%~nI "VIMRUNTIME=C:\Vim\Vim81"