読者です 読者をやめる 読者になる 読者になる

babie steps

作業療法記録

補完を便利にするプラグイン autocomplpop の代わりに neocomplcache を導入

vim

ネオコンなるものがあるそうなので調べたら、autocomplpop を置き換える neocomplecache なる Vim スクリプトパッケージがあった。とっくに時代は塗り替えられていたらしい。

アンインストール&インストール:

$ vimana remove autocomplpop
$ vimana install neocomplcache

~/.vimrc に以下を追記:

" Use neocomplcache.
let g:neocomplcache_enable_at_startup = 1
" Use smartcase.
let g:neocomplcache_enable_smart_case = 1
" Use auto select
"let g:neocomplcache_enable_auto_select = 1
" Use camel case completion.
let g:neocomplcache_enable_camel_case_completion = 1
" Use underbar completion.
let g:neocomplcache_enable_underbar_completion = 1
" Set minimum syntax keyword length.
let g:neocomplcache_min_syntax_length = 3
" Set manual completion length.
let g:neocomplcache_manual_completion_start_length = 0
" Define dictionary.
"let g:neocomplcache_dictionary_filetype_lists = {
"            \ 'default' : '',
"            \ 'vimshell' : $HOME.'/.vimshell_hist',
"            \ 'scheme' : $HOME.'/.gosh_completions', 
"            \ 'scala' : $DOTVIM.'/dict/scala.dict', 
"            \ 'ruby' : $DOTVIM.'/dict/ruby.dict'
"            \ }
"
" Define keyword.
if !exists('g:neocomplcache_keyword_patterns')
   let g:neocomplcache_keyword_patterns = {}
endif
let g:neocomplcache_keyword_patterns['default'] = '\h\w*'
"
"ilet g:neocomplcache_snippets_dir = $HOME.'/snippets'
autocmd! FileType css setlocal omnifunc=csscomplete#CompleteCSS
autocmd! FileType eruby,html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
autocmd! FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
autocmd! FileType python setlocal omnifunc=pythoncomplete#Complete
autocmd! FileType xml setlocal omnifunc=xmlcomplete#CompleteTags

自動起動 let g:neocomplcache_enable_at_startup = 1 ぐらいで不便はないらしいが、ついでなんで色々設定してみた。

上記の設定に以下があるが、

autocmd! FileType eruby,html,markdown setlocal omnifunc=htmlcomplete#CompleteTags

これがないと、「Vim で XML/HTML の閉じタグを自動補完するようにした - LazyLoadLife」が効かないっぽい。