以前 CentOS 6.5 に Lua を有効にした vim をインストールする手順を書きましたが、今回は CentOS 7.0 にインストールする手順を書きます。
今回は Perl とか Ruby とか Python とか入れないでみました。
必要なパッケージのインストール
最小構成でインストールした CentOS 7.0 に、まずはバージョン管理ツールである Git と Mercurial をインストールします。
次に、開発ツール群をインストールします。
日本語環境の場合は
英語環境の場合は
最後に、vim のビルドに必要な ncurses-devel をインストールします。
luajit のインストール
lua を実行するにあたって、luajit というのを使うと速いよというのを知りましたので、あらかじめ luajit をコンパイルしてインストールします。
やり方は CentOS 6.5 のときと全く同じです。
ソースコードは Git で取ってきます。
$ git clone http://luajit.org/git/luajit-2.0.git luajit
$ cd luajit
luajit の Makefile の中身を見ると、インストール先は/usr/local/になっているようです。
変えたい場合はここを編集します。
make して install します。
$ 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
できたら、以下のコマンドでキャッシュを更新します。
ちなみに、こちらを参考にしました。
vim のインストール
vim のソースコードは mercurial で管理されているので、取ってくるには hg コマンドを使います。
$ hg clone https://vim.googlecode.com/hg/ vim
$ cd vim/
まずは./configureですが、引数を覚えきれないので、僕はいつもシェルスクリプトを書いています。
#!/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 を入れていないので短めです。
作成したシェルスクリプトに、ユーザーに対して実行権限を与えます。
では、configure と make をしてインストールしましょう。
$ 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が呼ばれてしまう場合は、
と打つと、参照先がリフレッシュされるかもしれません。
アップデート
vim のブランチが更新された場合、hg コマンドでアップデートすることができます。
$ hg update
アップデートしたら make しなおします。
このとき、さきほど作ったシェルスクリプトが役立ちます。
$ make clean
$ make
$ sudo make install
この記事のお陰でluaがvimで使えるようになりました。
ありがとう。
ただ、hg clone https://vim.googlecode.com/hg/ vim の後に
cd vimがあればもっと親切かも。
そこが何も考えず真似ていったときにただ一箇所引っかかったところ。
コメントありがとうございます。
cd vim追加しました!