vimの便利なPlugin(その8)neocomplete
IDEで当たり前の関数名や変数の補完は、素のvimでも可能ですが、より高機能のneocompleteをご紹介します。このPluginもShougoさんの開発されているものです。 すごいですね! CentOS6でインストールされるvimパッケージでは、lua込みでコンパイルされていないため、vimソースからインストールする必要があります。
Install
- vimがluaと共にコンパイルされているかを確認。
以下の様に -lua となっていたら含まれていませんのでソースからコンパイルする必要があります。
- 必要なパッケージをインストール
sudo yum install gettext-devel
sudo yum install lua-devel
- vim7.4ソースコードのダウンロード。
sudo wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
tarで解凍して、configureを実行します。 configureのオプションは configure –helpでご確認下さい。
cd vim-7.4
CentOS6の場合
CentOS7の場合
- configure エラーの対応。
no terminal library found
checking for tgetent()… configure: error: NOT FOUND!
You need to install a terminal library; for example ncurses.
Or specify the name of the library with –with-tlib.
terminal libraryがインストールされていないためのエラー。 ncurses-develをインストール。
再度configureコマンドを実行したら、configure はOKになった。
- makeしてみるとまたエラー、、、
/usr/bin/perl -e ‘unless ( $] >= 5.005 ) { for (qw(na defgv errgv)) { print “#define PL_$_ $_\n” }}’ > auto/if_perl.c
/usr/bin/perl /usr/share/perl5/ExtUtils/xsubpp -prototypes -typemap \
/usr/share/perl5/ExtUtils/typemap if_perl.xs >> auto/if_perl.c
Can’t open perl script “/usr/share/perl5/ExtUtils/xsubpp”: そのようなファイルやディレクトリはありません
make[1]: *** [auto/if_perl.c] エラー 2
make[1]: ディレクトリ `/usr/local/src/vim74/src’ から出ます
make: *** [first] エラー 2
ググってみると、perl-ExtUtils-Embed がどうやらインストールする必要がありそう。
これでmakeが通ったので、installしてみた。
ただし、CentOS7は、yumコマンドでインストールされるのは、「/usr/share/perl5/vendor_perl/ExtUtils」であるため、「src/Makefile」を書き換える必要があります。
auto/if_perl.c: if_perl.xs
$(PERL) -e ‘unless ( $$] >= 5.005 ) { for (qw(na defgv errgv)) { print “#define PL_$$_ $$_\n” }}’ > $@
/usr/share/perl5/ExtUtils
↓
/usr/share/perl5/vendor_perl/ExtUtils
make install
luaが含まれているかを確認。
+dialog_con +lua +rightleft +windows
+luaとなったのでインストールは終了。
- neocompleteのインストール
dein.vimを前提とさせていただきます。 まだ、dein.vimを使っていない方は(その5)から。 .vimrcにいかの行を追加します。
これで「:call dein#install()」をコマンドラインモードで実行すればインストールは終了。
使い方
まずは、.vimrcに設定をいれてみます。
let g:neocomplete#enable_at_startup = 1
” ポップアップメニューで表示される候補の数
let g:neocomplete#max_list = 50
“キーワードの長さ、デフォルトで80
let g:neocomplete#max_keyword_width = 80
let g:neocomplete#enable_ignore_case = 1
highlight Pmenu ctermbg=6
highlight PmenuSel ctermbg=3
highlight PMenuSbar ctermbg=0
inoremap <expr><CR> pumvisible() ? neocomplete#close_popup() : “<CR>”
設定の詳細は、「:help neocomplete」で確認して見て下さい。 補完を試してみた結果こちら。(※wordpressのソースファイルを開いて試してみました。)
highlightで設定したポップアップの色は、お好みに応じて。こちらのリンクが参考になります。 色設定の参考はこちらで
インサートモードで、2文字を入力すると候補がポップアップされます。このポップアップの文字数を変更したい場合は、「g:neocomplete#auto_completion_start_length」の値を変更して下さい。ポップアップリストからの選択は、Ctrl-n で次の候補、Ctrl-p で前の候補へ移動できます。 選択した候補上でエンターすると確定でき、Ctrl-[ でキャンセルができます。
この記事へのコメントはこちら
コメントを投稿するにはログインしてください。