18
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Msys2のVimを+luaにする

Last updated at Posted at 2016-07-04

Msys2のVimを+luaにする

Msys2にデフォルトで付いてくるVimは+luaでないため、neocompleteなどの+luaに依存するプラグインが使えません。+luaに依存するプラグインを使うためには、Vimを+luaでビルドする必要があります。ここでは、Msys2のVimを+luaでビルドする手順を説明します。

msys開発者ツールをインストールする

msys用ソフトウェアのビルドに最低限必要なツール群をインストールします。

pacman -S base-devel msys2-devel

luaをビルドする

Msys2ではmingw32とmingw64用のluaはパッケージとして入手できますが、msys用のluaは入手できません。Vimはmsysでビルドするため、msys用のluaを自力でビルドする必要があります。

luaをビルドするために必要なパッケージをインストールします。

pacman -S ncurses-devel libcrypt-devel gettext-devel

公式サイトからluaを落としてビルドします。

curl -O http://www.lua.org/ftp/lua-5.3.3.tar.gz
tar xzf lua-5.3.3.tar.gz
cd lua-5.3.3
make mingw
make install

lua53.dllだけインストールされないので手動でPATHが通っているディレクトリに移動させます。

Vimをビルドする

vimのビルドに必要なパッケージをインストールします。

pacman -S python3 ruby

MSYS2のパッケージ群をcloneします。

git clone https://github.com/Alexpux/MSYS2-packages.git

vim/PKGBUILDを次のように修正します。

--- a/vim/PKGBUILD
+++ b/vim/PKGBUILD
@@ -75,13 +75,15 @@ build() {
    # make distclean

    ./configure \
+       --enable-fail-if-missing \
        --prefix=/usr \
        --build=${CHOST} \
        --with-features=huge \
        --with-tlib=ncursesw \
        --enable-cscope \
        --enable-multibyte \
-       --enable-luainterp=dynamic \
+       --enable-luainterp \
+       --with-lua-prefix=/usr/local \
        --enable-perlinterp=dynamic \
        --enable-pythoninterp=dynamic \
        --enable-python3interp=dynamic \

ビルドしてインストールします。

makepkg
pacman -U vim(version).pkg.tar.gz

+luaになっているか確認

vim --version | grep lua

+luaが出てくればOKです。お疲れ様でした。

18
13
8

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?