28
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

vimプラグイン「neocomplete」を使う

neocomplete

こちらにソースがあります。
いろいろ補完してくれて便利なのでとりあえず入れておきたいプラグイン。

ただ、READMEに以下の記述があります。

Note: neocomplete requires Vim 7.3.885+ with Lua enabled.

このプラグインはlua というプログラミング言語が使えるversion 7.3.885 以上のvim でないとダメなようです。
設定が少し面倒だったのでメモとして残しておきます。
以下Mac のvim (MacVim じゃなくてターミナルの方) とCentOS のvim で設定した時のメモです。

lua の確認

lua が使えるかどうかは以下のように確認できます。

% vim --version
  略
  -lua
  略

lua の前が- なら入れる必要あり、+ ならそのままでokです。

自分の場合、 OS X EL Capitan にデフォルトで入ってるもの、CentOS 7.2 にyum で入れたものどちらも-lua でした。

vim with lua のインストール

【Mac】

% brew install vim --with-lua

これでok ですが、そのままだと元のvim が参照されていたので、新しくインストールした方のvim を見るようパスを設定しました。

% which vim
/usr/local/bin/vim

% export PATH="/usr/local/bin:$PATH" 

% vim --version
  略
  +lua
  略

【CentOS 7】

こちらはソースからインストールする必要があるみたいでした。

まずはlua の環境をインストール

% sudo yum install -y lua-devel 

vim はMercurial のレポジトリから/usr/local/src にダウンロードしました。

% cd /usr/local/src/
% sudo hg clone https://bitbucket.org/vim-mirror/vim vim
% cd vim
% sudo hg pull

いろいろ設定。

% sudo ./configure --enable-multibyte --with-features=huge --enable-luainterp=yes --with-lua-prefix=/usr --enable-perlinterp --enable-pythoninterp --with-python-config-dir=/usr/lib64/python2.7/config  --enable-rubyinterp

./configure --help で利用可能な設定が確認できるようです。

lua 関連を抜粋したのが以下。

% ./configure --help | grep lua
  --enable-luainterp=OPTS     Include Lua interpreter.  default=no OPTS=no/yes/dynamic
  --with-lua-prefix=PFX   Prefix where Lua is installed.
  --with-luajit           Link with LuaJIT instead of Lua.

インストール。

% make
% make install

これでlua が有効になっていると思います。

neocomplete のインストール

NeoBundle を使ってます。

.vimrccall neobundle#begin(expand('~/.vim/bundle/'))call neobundle#end() の間に以下を書くだけ。

~/.vimrc
NeoBundle 'Shougo/neocomplete.vim'

設定

こちら にあるConfiguration Examples をだいたいそのまま使っています。
ただ、インサートモードのCtrl-hCtrl-l は別のコマンドを割り当てているので、以下の二つはコメントアウトしたり別のキーを割り当てたりしていますが、特に操作感に問題はないです。

~/.vimrc
" inoremap <expr><C-h> neocomplete#smart_close_popup()."\<C-h>"
" inoremap <expr><C-l>     neocomplete#complete_common_string()
inoremap <expr><C-i>     neocomplete#complete_common_string()

参考

vimにNeoBundleとNeoCompleteを入れる
lua有効版vimをOSXターミナルで使いたい。
CentOSにVim7.4をluaオプション付きでインストールする
enable-luaなvim7.4をインストール

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
28
Help us understand the problem. What are the problem?