CentOS 7.0にLuaを有効にしたvimをインストール

以前 CentOS 6.5 に Lua を有効にした vim をインストールする手順を書きましたが、今回は CentOS 7.0 にインストールする手順を書きます。
今回は Perl とか Ruby とか Python とか入れないでみました。

必要なパッケージのインストール

最小構成でインストールした CentOS 7.0 に、まずはバージョン管理ツールである Git と Mercurial をインストールします。

$ sudo yum install git mercurial

次に、開発ツール群をインストールします。

日本語環境の場合は

$ sudo yum groupinstall '開発ツール'

英語環境の場合は

$ sudo yum groupinstall 'Development tools'

最後に、vim のビルドに必要な ncurses-devel をインストールします。

$ sudo yum install ncurses-devel

luajit のインストール

lua を実行するにあたって、luajit というのを使うと速いよというのを知りましたので、あらかじめ luajit をコンパイルしてインストールします。
やり方は CentOS 6.5 のときと全く同じです。

ソースコードは Git で取ってきます。

$ cd /usr/local/src/
$ git clone http://luajit.org/git/luajit-2.0.git luajit
$ cd luajit

luajit の Makefile の中身を見ると、インストール先は/usr/local/になっているようです。
変えたい場合はここを編集します。

Makefile
27 export PREFIX= /usr/local

make して install します。

$ make
$ sudo make install

luajit にパスを通す

luajit を/usr/local/にインストールした場合は、/usr/local/libにパスを通します。

やり方は二通りあって、.zshrcで以下のように、環境変数LD_LIBRARY_PATHを設定するか、

.zshrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

/etc/ld.so.confに設定します。
/etc/ld.so.confは、/etc/ld.so.conf.d/以下の conf ファイルを読み込むように書いてあるので、以下のようにパスを書いたファイルをそこに置きましょう。

/etc/ld.so.conf.d/local.conf
/usr/local/lib

できたら、以下のコマンドでキャッシュを更新します。

$ sudo ldconfig

ちなみに、こちらを参考にしました。

vim のインストール

vim のソースコードは mercurial で管理されているので、取ってくるには hg コマンドを使います。

$ cd /usr/local/src/
$ hg clone https://vim.googlecode.com/hg/ vim
$ cd vim/

 
まずは./configureですが、引数を覚えきれないので、僕はいつもシェルスクリプトを書いています。

configure.sh
#!/bin/sh
./configure --enable-multibyte --with-features=huge --disable-selinux \
        --prefix=/usr/local \
        --enable-luainterp=yes --with-luajit --with-lua-prefix=/usr/local

今回は Perl、Ruby、Python を入れていないので短めです。

作成したシェルスクリプトに、ユーザーに対して実行権限を与えます。

$ chmod u+x configure.sh

 
では、configure と make をしてインストールしましょう。

$ ./configure.sh
$ make
$ sudo make install

以上で完了です。

確認

which コマンドで、vim コマンドの参照先が/usr/local/bin/vimになっているか確認しましょう。
続いて、vim --version で、Lua が有効になっているかどうか確認しましょう。

$ which vim
/usr/local/bin/vim
$ vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 26 2014 21:06:26)
適用済パッチ: 1-527
Compiled by yuuan@localhost.localdomain
Huge 版 without GUI.  機能の一覧 有効(+)/無効(-)
+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
-balloon_eval    +float           +mouse_urxvt     -tag_any_white
-browse          +folding         +mouse_xterm     -tcl
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         +gettext         -mzscheme        +textobjects
-clientserver    -hangul_input    +netbeans_intg   +title
-clipboard       +iconv           +path_extra      -toolbar
+cmdline_compl   +insert_expand   -perl            +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       -python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      +lua             +rightleft       +windows
+diff            +menu            -ruby            +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      -sniff           -xsmp
+eval            +mouse_dec       +startuptime     -xterm_clipboard
+ex_extra        -mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm
      システム vimrc: "$VIM/vimrc"
        ユーザ vimrc: "$HOME/.vimrc"
     第2ユーザ vimrc: "~/.vim/vimrc"
         ユーザ exrc: "$HOME/.exrc"
       省略時の $VIM: "/usr/local/share/vim"
コンパイル: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
リンク: gcc   -L/usr/local/lib -Wl,--as-needed -o vim        -lm -ltinfo -lnsl  -ldl  -L/usr/local/lib -lluajit-5.1

+lua となっていれば成功です。

もし、/usr/local/binにパスを通しているにもかかわらず、/usr/bin/vimが呼ばれてしまう場合は、

$ rehash

と打つと、参照先がリフレッシュされるかもしれません。

アップデート

vim のブランチが更新された場合、hg コマンドでアップデートすることができます。

$ hg pull
$ hg update

 
アップデートしたら make しなおします。
このとき、さきほど作ったシェルスクリプトが役立ちます。

$ ./configure.sh
$ make clean
$ make
$ sudo make install

CentOS 7.0にLuaを有効にしたvimをインストール」への2件のフィードバック

  1. centosでもneocompleteが使いたんじゃ―

    この記事のお陰でluaがvimで使えるようになりました。
    ありがとう。
    ただ、hg clone https://vim.googlecode.com/hg/ vim の後に
    cd vimがあればもっと親切かも。
    そこが何も考えず真似ていったときにただ一箇所引っかかったところ。

  2. yuuAn 投稿作成者

    コメントありがとうございます。

    cd vim追加しました!

コメントを残す