noocomplete 自动补全插件安装

来源:互联网 发布:淘宝怎么看店铺排行 编辑:程序博客网 时间:2024/06/06 07:40

功能

neocomplete 为 vim 提供智能提示功能,将 vim 改造成强大的IDE,效果如下图。

安装

安装neocomplete 插件需要lua支持,并且vim版本大于Vim 7.3.885。

1. 环境检测

  打开vim,输入 :version,查看版本与lua模块,若版本不符合,先升级版本;若vim中不支持lua,则需要

重新编译vim,可以参考 recompile vim with lua。

 

  注意: +lua 表示支持lua, -lua表示不支持,需要重新编译。

 

2. 下载neocomplete

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

  CSDN:http://download.csdn.net/detail/spch2008/8828389

  将autoload 文件夹置于 ~/.vim/autoload

  将plugin     文件夹置于 ~/.vim/plugin

 

3. 启用neocomplete  

  在 ~/.vimrc 中,写入: let g:neocomplete#enable_at_startup = 1

  至此,neocomplete配置完成。同时,作者提供了一份neocomplete的配置,

如果没有特殊需要,可以直接使用。

复制代码
 1 " Use neocomplete. 2 let g:neocomplete#enable_at_startup = 1 3 " Use smartcase. 4 let g:neocomplete#enable_smart_case = 1 5 " Set minimum syntax keyword length. 6 let g:neocomplete#sources#syntax#min_keyword_length = 3 7 let g:neocomplete#lock_buffer_name_pattern = '\*ku\*' 8  9 " Define dictionary.10 let g:neocomplete#sources#dictionary#dictionaries = {11     \ 'default' : '',12     \ 'vimshell' : $HOME.'/.vimshell_hist',13     \ 'scheme' : $HOME.'/.gosh_completions'14         \ }15 16 " Define keyword.17 if !exists('g:neocomplete#keyword_patterns')18     let g:neocomplete#keyword_patterns = {}19 endif20 let g:neocomplete#keyword_patterns['default'] = '\h\w*'21 22 " Plugin key-mappings.23 inoremap <expr><C-g>     neocomplete#undo_completion()24 inoremap <expr><C-l>     neocomplete#complete_common_string()25 26 " Recommended key-mappings.27 " <CR>: close popup and save indent.28 inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR>29 function! s:my_cr_function()30   return neocomplete#close_popup() . "\<CR>"31   " For no inserting <CR> key.32   "return pumvisible() ? neocomplete#close_popup() : "\<CR>"33 endfunction34 " <TAB>: completion.35 inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"36 " <C-h>, <BS>: close popup and delete backword char.37 inoremap <expr><C-h> neocomplete#smart_close_popup()."\<C-h>"38 inoremap <expr><BS> neocomplete#smart_close_popup()."\<C-h>"39 inoremap <expr><C-y>  neocomplete#close_popup()40 inoremap <expr><C-e>  neocomplete#cancel_popup()41 " Close popup by <Space>.42 "inoremap <expr><Space> pumvisible() ? neocomplete#close_popup() : "\<Space>"43 44 " For cursor moving in insert mode(Not recommended)45 "inoremap <expr><Left>  neocomplete#close_popup() . "\<Left>"46 "inoremap <expr><Right> neocomplete#close_popup() . "\<Right>"47 "inoremap <expr><Up>    neocomplete#close_popup() . "\<Up>"48 "inoremap <expr><Down>  neocomplete#close_popup() . "\<Down>"49 " Or set this.50 "let g:neocomplete#enable_cursor_hold_i = 151 " Or set this.52 "let g:neocomplete#enable_insert_char_pre = 153 54 " AutoComplPop like behavior.55 "let g:neocomplete#enable_auto_select = 156 57 " Shell like behavior(not recommended).58 "set completeopt+=longest59 "let g:neocomplete#enable_auto_select = 160 "let g:neocomplete#disable_auto_complete = 161 "inoremap <expr><TAB>  pumvisible() ? "\<Down>" : "\<C-x>\<C-u>"62 63 " Enable omni completion.64 autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS65 autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags66 autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS67 autocmd FileType python setlocal omnifunc=pythoncomplete#Complete68 autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags69 70 " Enable heavy omni completion.71 if !exists('g:neocomplete#sources#omni#input_patterns')72   let g:neocomplete#sources#omni#input_patterns = {}73 endif74 "let g:neocomplete#sources#omni#input_patterns.php = '[^. \t]->\h\w*\|\h\w*::'75 "let g:neocomplete#sources#omni#input_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)'76 "let g:neocomplete#sources#omni#input_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::'77 78 " For perlomni.vim setting.79 " https://github.com/c9s/perlomni.vim80 let g:neocomplete#sources#omni#input_patterns.perl = '\h\w*->\h\w*\|\h\w*::'

0 0
原创粉丝点击