Mercurial > dotfiles.old
diff vimrc @ 91:97744720e080
Improved neocompleting
author | zegervdv <zegervdv@me.com> |
---|---|
date | Mon, 04 Aug 2014 19:11:35 +0200 |
parents | 3fdc762fe6bb |
children | afe2d02577c2 |
line wrap: on
line diff
--- a/vimrc Sun Aug 03 18:37:06 2014 +0200 +++ b/vimrc Mon Aug 04 19:11:35 2014 +0200 @@ -86,7 +86,7 @@ set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.o,*.bin,*.elf,*.hex " set list -set listchars=tab:▸\ ,eol:¬ +" set listchars=tab:▸\ ,eol:¬ " }}} " Custom remaps and tricks {{{ " When editing a file, always jump to the last known cursor position. @@ -447,102 +447,29 @@ nmap <leader>c <C-_><C-_> " }}} " Neo Complete {{{ -" Taken from https://github.com/spf13/spf13-vim/blob/3.0/.vimrc - let g:acp_enableAtStartup = 0 - let g:neocomplete#enable_at_startup = 1 - let g:neocomplete#enable_smart_case = 1 - let g:neocomplete#enable_auto_delimiter = 1 - let g:neocomplete#max_list = 15 - let g:neocomplete#force_overwrite_completefunc = 1 - - - " 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 { - " These two lines conflict with the default digraph mapping of <C-K> - " <C-k> Complete Snippet - " <C-k> Jump to next snippet point - imap <silent><expr><C-k> neosnippet#expandable() ? - \ "\<Plug>(neosnippet_expand_or_jump)" : (pumvisible() ? - \ "\<C-e>" : "\<Plug>(neosnippet_expand_or_jump)") - smap <TAB> <Right><Plug>(neosnippet_jump_or_expand) - - inoremap <expr><C-g> neocomplete#undo_completion() - inoremap <expr><C-l> neocomplete#complete_common_string() - "inoremap <expr><CR> neocomplete#complete_common_string() - - " <CR>: close popup - " <s-CR>: close popup and save indent. - inoremap <expr><s-CR> pumvisible() ? neocomplete#smart_close_popup()"\<CR>" : "\<CR>" +let g:neocomplete#enable_at_startup = 1 +let g:neocomplet#enable_smart_case = 1 +let g:jedi#auto_vim_configuration = 0 +let g:jedi#completions_enabled = 0 +let g:marching_enable_neocomplete = 1 - function! CleverCr() - if pumvisible() - if neosnippet#expandable() - let exp = "\<Plug>(neosnippet_expand)" - return exp . neocomplete#smart_close_popup() - else - return neocomplete#smart_close_popup() - endif - else - return "\<CR>" - endif - endfunction - - " <CR> close popup and save indent or expand snippet - imap <expr> <CR> CleverCr() - " <C-h>, <BS>: close popup and delete backword char. - inoremap <expr><BS> neocomplete#smart_close_popup()."\<C-h>" - inoremap <expr><C-y> neocomplete#smart_close_popup() - - " <TAB>: completion. - inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" - inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<TAB>" - - " Courtesy of Matteo Cavalleri - - function! CleverTab() - if pumvisible() - return "\<C-n>" - endif - let substr = strpart(getline('.'), 0, col('.') - 1) - let substr = matchstr(substr, '[^ \t]*$') - if strlen(substr) == 0 - " nothing to match on empty string - return "\<Tab>" - else - " existing text matching - if neosnippet#expandable_or_jumpable() - return "\<Plug>(neosnippet_expand_or_jump)" - else - return neocomplete#start_manual_complete() - endif - endif - endfunction - - imap <expr> <Tab> CleverTab() - " } - - " 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.perl = '\h\w*->\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*::' - let g:neocomplete#sources#omni#input_patterns.ruby = '[^. *\t]\.\h\w*\|\h\w*::' - " } +inoremap <expr><s-CR> pumvisible() ? neocomplete#smart_close_popup()"\<CR>" : "\<CR>" +inoremap <expr><C-g> neocomplete#undo_completion() +inoremap <expr><C-l> neocomplete#complete_common_string() +function! CleverCr() + if pumvisible() + if neosnippet#expandable() + let exp = "\<Plug>(neosnippet_expand)" + return exp . neocomplete#smart_close_popup() + else + return neocomplete#smart_close_popup() + endif + else + return "\<CR>" + endif +endfunction +" <CR> close popup and save indent or expand snippet +imap <expr> <CR> CleverCr() " }}} " Neo Snippets {{{ imap <C-k> <Plug>(neosnippet_expand_or_jump)