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*\(\)?)?'