こんにちは、河野です。普段使っているエディタはVimです。
最近、久しぶりにプラグインの整理をして、neocomplcacheからneocompleteに変えてみたのですが、怒られるようになりました。おぉう…。
1 2 3 |
$ vim hoge neocomplete does not work this version of Vim. It requires Vim 7.3.885 or above and "if_lua" enabled Vim. |
Vimのバージョンを上げて、luaを有効にしないと使えないようなので、ソースからインストールしてみました。
mercurial のインストール
Vim は GoogleCode上でmercurial(hg)を使って管理されています。自分でパッチを当てていくのは大変なので、こちらからソースを持ってきます。
1 |
$ sudo yum install mercurial |
patchが当たったバージョンをcloneする
https://code.google.com/p/vim/source/browse/.hgtags
でtagを確認したところ、Vim7.3は patchは1314までのようです。というか、2日ほど前に7.4のベータが外れていますね。こっちにすれば良かったかな。まぁいいです。
1 2 |
$ cd /usr/local/src $ sudo hg clone -r 29e57603bf6f3a2e3c178a63d332ed4d2eccfa82 https://vim.googlecode.com/hg/ vim7.3.1314 |
lua を有効にする準備
neocomplete は +lua になっていないと使えないので、luaの準備をします。lua はすでに入っているので、lua-develを入れておきます。
1 |
$ sudo yum install lua-devel |
configure もオプションを忘れずに。
1 2 3 4 5 6 7 8 9 10 11 |
$ cd vim7.3.1314/ $ sudo ./configure --enable-multibyte --with-features=huge \ --disable-selinux --prefix=/usr/local \ --enable-luainterp=yes --with-lua-prefix=/usr ...(略)... checking --enable-luainterp argument... yes checking --with-lua-prefix argument... /usr checking for lua... /usr/bin/lua checking Lua version... 5.1 checking if lua.h can be found in /usr/include... yes ...(略)... |
ちゃんと lua のところが yes になってますね。
makeしてインストール
1 |
$ sudo make && sudo make install |
インストールされたvimを確認します。
1 2 3 4 5 6 7 8 |
$ /usr/local/bin/vim --version VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug 13 2013 12:15:59) 適用済パッチ: 1-1314 ...(略)... +cursorshape +localmap +reltime +wildmenu +dialog_con +lua +rightleft +windows +diff +menu -ruby +writebackup ...(略)... |
適用済みのパッチと、機能の一覧が出るので +lua が出てたらOKです。
はまったところ
lua-devel をインストールしたところまでは良かったんですが、configureのオプションのwith-lua-prefixが間違っていて、なかなか lua が有効になりませんでした。
configureの結果は、きちんと確認しないといけないですね。