neocomplcacheをインストールしてみた

作者の方がneocomplcache.vimはそれなりに複雑なプラギンだしインストールしても
たいへんだよってなことを言っていた。
けどすごい便利なので使えないのももったいない気がする。
とりあえずインストールまでを説明してみようと思った。

インストール

http://github.com/Shougo/neocomplcache/downloads
から最新をダウンロードする。(現状最新はver.5.1)

zip or tarを解凍するとこんな感じの構成になっている。
f:id:yuitowest:20100907213247p:image
それぞれのフォルダが何なのか知りたい人はここ http://vim-users.jp/2009/06/hack34/

autoload doc indent plugin presen syntaxというフォルダがあると思います。
このフォルダをvimのフォルダにコピーします。
ただし、presenはいりません。

OSX, linux系をお使いの方は~/.vimに移動します。
windowsをお使いの方は vimのインストールフォルダ/runtime/に移動します。
[OSX]
f:id:yuitowest:20100907214529p:image
[windows]
f:id:yuitowest:20100907214716p:image

移動したらダウンロードしてきたneocomplcacheの中身をコピーします。
f:id:yuitowest:20100907215226p:image

これでインストール完了です。

neocomplcacheを動かしてみましょう

本来は:helpとか:helptagsとか使うのですが、わからない人もいると思うので直接いっちゃいます。
先ほどneocomplcacheをインストールしたフォルダ(.vim とか runtime とか)に移動します。
docというフォルダがあると思うのでさらにその中に移動します。
neocomplcache.txtというファイルがあるので開きます。
620行目あたりになんとサンプルの設定が書いてあるではないですか!
f:id:yuitowest:20100907220016p:image
サンプルをコピーします。
vimrcファイルに貼り付けます。
貼り付け時に勝手にインデントとかうぜぇ〜〜〜ってひとは:set pasteしてください。
f:id:yuitowest:20100907220459p:image
保存していったんvimを終了します。
vimを機動します。
なんとneocomplcacheが動きます。
f:id:yuitowest:20100907220500p:image
ご丁寧にmapまで書いていただいております。
tabで補完できるぜ!いぇいw

各設定が何をやってるかわからないとか、こんな設定ないの?とか思った方は
先ほどのdocフォルダにあるneocomplcache.jaxファイルを開いてみましょう。
詳しい説明が日本語で書かれています。まず読んでみましょう。

たのしい補完ライフを送ってください!

andlinux入れたときのメモ

2度もはまってしまった。

svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LC_CTYPE is ja_JP.UTF-8
svn: warning: please check that your locale name is correct

とか言われたら

wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
sudo wget https://www.ubuntulinux.jp/sources.list.d/jaunty.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo aptitude update
sudo aptitude upgrade
sudo aptitude install ubuntu-desktop-ja 

ってしてlocale追加すること。

MacVimを広く使いたいので邪魔なモノを消す設定など

"透明度を指定
set transparency=20
"ツールバーなし
set guioptions-=T
"メニューバーなし
set guioptions-=m
"右スクロールバーなし
set guioptions-=r
set guioptions-=R
"左スクロールバーなし
set guioptions-=l
set guioptions-=
"下スクロールバーなし
set guioptions-=b

vimで自動補完

ずっとautocomplpopを使っていたのだが、neocomplcacheというのがあるのを知って試してみた。

クイックマッチがすごく便利!補完候補が大量にあるときとかCtrl+n叩きまくる必要がなくなったw
動作がさくさくwいらいらしなくてすむw
helpがしっかりしてるw
いろいろ設定ができてカスタムしやすいw


以上の理由でそく乗り換えました。


.vimrcに追記した設定

" vim起動時にneocomplcacheを起動するか 1:有効 2:無効(初期値)
let g:NeoComplCache_EnableAtStartup = 1
" 入力に大文字が含まれている場合は、大文字・小文字を無視しない 1:有効 2:無効(初期値)
let g:NeoComplCache_SmartCase = 1
" ポップアップメニューで表示される候補の数
let g:NeoComplCache_MaxList = 50
" 単語の出現頻度だけではなく、前の単語とのつながりも考慮して候補の並び替えを行うかどうか 1:有効(初期値) 0:無効
let g:NeoComplCache_PreviousKeywordCompletion = 1
" プレビューウインドウが開いているとき、追加情報を表示するかどうか 1:有効 0:無効
let g:NeoComplCache_EnableInfo = 1
" 大文字を入力したときに、それを単語の区切りとしてあいまい検索を行うかどうか 1:有効 0:無効(初期値)
let g:NeoComplCache_EnableCamelCaseCompletion = 1
" _を入力したときに、それを単語の区切りとしてあいまい検索を行うかどうか 1:有効 0:無効(初期値)
let g:NeoComplCache_EnableUnderbarCompletion = 1
" 補完の対象となるキーワードの最小長さ
let g:NeoComplCache_MinSyntaxLength = 3
" 自動補完を中止するための連続入力時間 初期値0.0
let g:NeoComplCache_SkipInputTime = '0.2'
" 手動補完時に補完を行う入力数
let g:NeoComplCache_ManualCompletionStartLength = 0
" 補完するためのキーワードパターンを記録する(まだよくわかってない)
if !exists('g:NeoComplCache_KeywordPatterns')
    let g:NeoComplCache_KeywordPatterns = {}
endif
let g:NeoComplCache_KeywordPatterns['default'] = '\v\h\w*'
" ユーザが定義したスニペット補完ファイルのパス
let g:NeoComplCache_SnippetsDir = $HOME.'/snippets'

参考:
http://vim-users.jp/2009/07/hack-49/


追記
g:NeoComplCache_KeywordPatternsについてコメントいただいたので。
fileタイプごとの補完キーワードのパターンマッチの設定が行えるものみたい。
.vim/autload/neocomplcache.vimを見るとまんま書いてある。
このままで使えそうです。
例)let g:NeoComplCache_KeywordPatterns['python'] = '\v\h\w*%(\s*\(\)?)?'

2009長岡花火大会行ってきました

今年も長岡の花火大会行ってきました。

今年は8/2日曜日ということもあって、人だらけでしたw
残念ながら目玉商品のフェニックスが雨で見れなかったのが心残りですが
3尺玉見れたのでよしとしておきます。

動画公開
http://www.flipclip.net/users/yuitowest/