An open-source entry in TopGit's GitHub warehouse: Shougo/neocomplete.vim, 2.7k stars, Vim Script. Next generation completion framework after neocomplcache
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Note: This plugin is not compatible with above Vim 8.2.1066!
https://github.com/vim/vim/commit/bd84617d1a6766efd59c94aabebb044bef805b99
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.
neocomplete is the abbreviation of "neo-completion with cache". It provides
keyword completion system by maintaining a cache of keywords in the current
buffer. neocomplete can be customized easily and has many more features than
Vim's built-in completion.
Note: If you use neovim or Vim8+, you should use deoplete instead.
https://github.com/Shougo/deoplete.nvim
Installation
Note: neocomplete requires Vim 7.3.885+ with Lua enabled.
See requirements if you aren't sure whether you have this.
Extract the files and put them in your Vim directory
(usually ~/.vim/ or Program Files/Vim/vimfiles on Windows).
Execute the :NeoCompleteEnable command or set let g:neocomplete#enable_at_startup = 1 in your .vimrc (not in .gvimrc
or _gvimrc!)
Requirements
neocomplete requires Vim 7.3.885+ compiled with
if_lua. If :echo has("lua") returns 1, then you're done; otherwise, see below.
Vim builds for Windows
github release
Vim 32bit
Vim 64bit
Vim 32bit alternative
Another alternative
Note: the Vim build may not include the Lua DLL. In that case,
download Lua and put the lua52.dll
file in the same directory as gvim.exe.
Vim for Mac OS X:
MacVim with if\_lua
Or, you can install MacVim with homebrew: (Make sure you have Xcode fully
installed)
brew cask install macvim --with-cscope --with-lua
To install Vim (as opposed to MacVim) with homebrew:
brew install vim --with-luajit
Vim for Linux:
Debian (or Ubuntu)
Make sure you have any of these packages:
vim-nox
vim-gtk3
Which package depends on your graphical environment (except vim-nox which is
for vim with no GUI).
Fedora
The latest version of vim includes lua.
As of 2014-04-16 you need to download the
rpm.
Misc
Be aware, your distribution's package manager may have a fairly outdated
Vim build (for example, Ubuntu 12.04 ships Vim 7.3.429).
However, building Vim on Linux is not
difficult. Remember to specify --with-lua (or --with-features=huge).
Vim for Cygwin:
In a cygwin environment, the Lua interface is supported by default.
If you want to make manually, you also need gcc and make.
When everything is prepared, execute these commands.
cd /usr/src
tar jxf vim-7.4.tar.bz2
tar xvfz lua-5.1.5.tar.gz
cd vim74/
./configure --enable-luainterp --enable-gui=no \
--without-x --enable-multibyte --prefix=/usr
make && make install
To check if everything was successfull enter the following vim --version. You
should see +lua in the list of features.
Snippets
The Snippets feature of neocomplete was split into a
separate plugin.
A migration guide for existing users of neocomplcache is available:
Migration guide
Screenshots
Original filename completion
Omni completion
Completion with vimshell
Vim completion (provided by neco-vim)
Configuration Examples
"Note: This option must be set in .vimrc(_vimrc). NOT IN .gvimrc(_gvimrc)!
" Disable AutoComplPop.
let g:acp_enableAtStartup = 0
" Use neocomplete.
let g:neocomplete#enable_at_startup = 1
" Use smartcase.
let g:neocomplete#enable_smart_case = 1
" Set minimum syntax keyword length.
let g:neocomplete#sources#syntax#min_keyword_length = 3
" Define dictionary.
let g:neocomplete#sources#dictionary#dictionaries = {
\ 'default' : '',
\ 'vimshell' : $HOME.'/.vimshell_hist',
\ 'scheme' : $HOME.'/.gosh_completions'
\ }
" Define keyword.
if !exists('g:neocomplete#keyword_patterns')
let g:neocomplete#keyword_patterns = {}
endif
let g:neocomplete#keyword_patterns['default'] = '\h\w*'
" Plugin key-mappings.
inoremap <expr><C-g> neocomplete#undo_completion()
inoremap <expr><C-l> neocomplete#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()
return (pumvisible() ? "\<C-y>" : "" ) . "\<CR>"
" For no inserting <CR> key.
"return pumvisible() ? "\<C-y>" : "\<CR>"
endfunction
" <TAB>: completion.
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
" <C-h>, <BS>: close popup and delete backword char.
inoremap <expr><C-h> neocomplete#smart_close_popup()."\<C-h>"
inoremap <expr><BS> neocomplete#smart_close_popup()."\<C-h>"
" Close popup by <Space>.
"inoremap <expr><Space> pumvisible() ? "\<C-y>" : "\<Space>"
" AutoComplPop like behavior.
"let g:neocomplete#enable_auto_select = 1
" Shell like behavior(not recommended).
"set completeopt+=longest
"let g:neocomplete#enable_auto_select = 1
"let g:neocomplete#disable_auto_complete = 1
"inoremap <expr><TAB> pumvisible() ? "\<Down>" : "\<C-x>\<C-u>"
" Enable omni completion.
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
autocmd FileType 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
" Enable heavy omni completion.
if !exists('g:neocomplete#sources#omni#input_patterns')
let g:neocomplete#sources#omni#input_patterns = {}
endif
"let g:neocomplete#sources#omni#input_patterns.php = '[^. \t]->\h\w*\|\h\w*::'
"let g:neocomplete#sources#omni#input_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)'
"let g:neocomplete#sources#omni#input_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::'
" For perlomni.vim setting.
" https://github.com/c9s/perlomni.vim
let g:neocomplete#sources#omni#input_patterns.perl = '\h\w*->\h\w*\|\h\w*::'
Does Shougo/neocomplete.vim have a project website?
No homepage URL was recorded for Shougo/neocomplete.vim in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
Does Shougo/neocomplete.vim have any tags?
TopGit's last sync did not record any GitHub topics for Shougo/neocomplete.vim. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on Shougo/neocomplete.vim?
The most recent commit recorded on Shougo/neocomplete.vim was 3.5 years ago, based on the GitHub push timestamp. The repository has 203 forks — one of the better signals of community interest.
How many stars does Shougo/neocomplete.vim have?
Shougo/neocomplete.vim has 2.7k GitHub stars — refresh the page for the live number, or check github.com/Shougo/neocomplete.vim. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is Shougo/neocomplete.vim open source?
TopGit's metadata for Shougo/neocomplete.vim does not record a license. Most public repositories on GitHub ARE open source, but the exact terms vary — verify by opening the LICENSE file directly.
Where do I read more about Shougo/neocomplete.vim?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/Shougo/neocomplete.vim is the definitive source.
Read full README in the tab above.
Still deciding about neocomplete.vim?
One click hands the question to an AI along with this page — see what it says about neocomplete.vim.