Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

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

$
0
0

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をインストール


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>