Skip to content

Latest commit

History

1,955 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

neocomplcache

Note: The development of this plugin is finished. Accepts minor patches and issues but no new features. ddc.vim is the next generation auto completion plugin. Consider migrating to it.

Description

neocomplcache is the abbreviation of "neo-completion with cache". It provides keyword completion system by maintaining a cache of keywords in the current buffer. neocomplcache could be customized easily and has a lot more features than the Vim's standard completion feature.

If you use Vim 7.3.885 or above with if_lua feature, you should use neocomplete. It is faster than neocomplcache.

https://github.com/Shougo/neocomplete.vim

Installation

  • Extract the file and put files in your Vim directory (usually ~/.vim/ or Program Files/Vim/vimfiles on Windows).
  • Execute |:NeoComplCacheEnable| command or let g:neocomplcache_enable_at_startup = 1 in your .vimrc. Not in .gvimrc(_gvimrc)!

Caution

Because all variable names were changed in neocomplcache Ver.5, it is not backwards compatible. If you want to upgrade, you should use the following script from Mr.thinca.

http://gist.github.com/422503

Snippets feature(snippets_complete source) was split from Ver.7. If you used it, please install neosnippet source manually.

https://github.com/Shougo/neosnippet

Screen shots

Original filename completion.

Original filename completion.

Omni completion.

Omni completion.

Completion with vimshell(http://github.com/Shougo/vimshell).

Completion with vimshell(http://github.com/Shougo/vimshell).

Vim completion

Vim completion.

Setting examples

"Note: This option must set it in .vimrc(_vimrc). NOT IN .gvimrc(_gvimrc)!" Disable AutoComplPop.letg:acp_enableAtStartup=0" Use neocomplcache.letg:neocomplcache_enable_at_startup=1" Use smartcase.letg:neocomplcache_enable_smart_case=1" Set minimum syntax keyword length.letg:neocomplcache_min_syntax_length=3letg:neocomplcache_lock_buffer_name_pattern='\*ku\*'" Enable heavy features." Use camel case completion."let g:neocomplcache_enable_camel_case_completion = 1" Use underbar completion."let g:neocomplcache_enable_underbar_completion = 1" Define dictionary.letg:neocomplcache_dictionary_filetype_lists= {
\ 'default' : '',
\ 'vimshell' : $HOME.'/.vimshell_hist',
\ 'scheme' : $HOME.'/.gosh_completions'\ }
" Define keyword.if!exists('g:neocomplcache_keyword_patterns')
letg:neocomplcache_keyword_patterns= {}
endifletg:neocomplcache_keyword_patterns['default'] ='\h\w*'" Plugin key-mappings.inoremap<expr><C-g> neocomplcache#undo_completion()inoremap<expr><C-l> neocomplcache#complete_common_string()" Recommended key-mappings." <CR>: close popup and save indent.inoremap<silent><CR><C-r>=<SID>my_cr_function()<CR>function!s:my_cr_function()
returnneocomplcache#smart_close_popup() . "\<CR>"" For no inserting <CR> key."return pumvisible() ? neocomplcache#close_popup() : "\<CR>"endfunction" <TAB>: completion.inoremap<expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"" <C-h>, <BS>: close popup and delete backword char.inoremap<expr><C-h> neocomplcache#smart_close_popup()."\<C-h>"inoremap<expr><BS> neocomplcache#smart_close_popup()."\<C-h>"inoremap<expr><C-y> neocomplcache#close_popup()inoremap<expr><C-e> neocomplcache#cancel_popup()" Close popup by <Space>."inoremap <expr><Space> pumvisible() ? neocomplcache#close_popup() : "\<Space>"" For cursor moving in insert mode(Not recommended)"inoremap <expr><Left> neocomplcache#close_popup() . "\<Left>""inoremap <expr><Right> neocomplcache#close_popup() . "\<Right>""inoremap <expr><Up> neocomplcache#close_popup() . "\<Up>""inoremap <expr><Down> neocomplcache#close_popup() . "\<Down>"" Or set this."let g:neocomplcache_enable_cursor_hold_i = 1" Or set this."let g:neocomplcache_enable_insert_char_pre = 1" AutoComplPop like behavior."let g:neocomplcache_enable_auto_select = 1" Shell like behavior(not recommended)."set completeopt+=longest"let g:neocomplcache_enable_auto_select = 1"let g:neocomplcache_disable_auto_complete = 1"inoremap <expr><TAB> pumvisible() ? "\<Down>" : "\<C-x>\<C-u>"" Enable omni completion.autocmdFileTypecsssetlocalomnifunc=csscomplete#CompleteCSS
autocmdFileTypehtml,markdownsetlocalomnifunc=htmlcomplete#CompleteTags
autocmdFileTypejavascriptsetlocalomnifunc=javascriptcomplete#CompleteJS
autocmdFileTypepythonsetlocalomnifunc=pythoncomplete#Complete
autocmdFileTypexmlsetlocalomnifunc=xmlcomplete#CompleteTags
" Enable heavy omni completion.if!exists('g:neocomplcache_force_omni_patterns')
letg:neocomplcache_force_omni_patterns= {}
endifletg:neocomplcache_force_omni_patterns.php ='[^. \t]->\h\w*\|\h\w*::'letg:neocomplcache_force_omni_patterns.c='[^.[:digit:] *\t]\%(\.\|->\)'letg:neocomplcache_force_omni_patterns.cpp='[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::'" For perlomni.vim setting." https://github.com/c9s/perlomni.vimletg:neocomplcache_force_omni_patterns.perl='\h\w*->\h\w*\|\h\w*::'

About

Ultimate auto-completion system for Vim.

Resources

Stars

1.7k stars

Watchers

52 watching

Forks

Releases

Packages

Used by

Contributors

Languages