From f684b917762b1a08089e93d7ad431374458f1967 Mon Sep 17 00:00:00 2001 From: Marcel Schneider Date: Sat, 30 Dec 2017 00:51:57 +0100 Subject: [PATCH] make a slow transition to nvim --- vimrc.symlink | 203 +++++++++++++++++++++++++++----------------------- 1 file changed, 110 insertions(+), 93 deletions(-) diff --git a/vimrc.symlink b/vimrc.symlink index 135e231..2987863 100644 --- a/vimrc.symlink +++ b/vimrc.symlink @@ -19,9 +19,13 @@ Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } Plug 'Xuyuanp/nerdtree-git-plugin', { 'on': 'NERDTreeToggle' } Plug 'scrooloose/nerdcommenter' "Plug 'myusuf3/numbers.vim' -Plug 'Shougo/neocomplete.vim' -Plug 'Shougo/neosnippet.vim' -Plug 'Shougo/neosnippet-snippets' +if has("nvim") + Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } +else + Plug 'Shougo/neocomplete.vim' + Plug 'Shougo/neosnippet.vim' + Plug 'Shougo/neosnippet-snippets' +endif Plug 'easymotion/vim-easymotion' Plug 'bling/vim-airline' Plug 'tpope/vim-ragtag' @@ -78,7 +82,8 @@ Plug 'Rip-Rip/clang_complete', { 'for': ['c', 'cpp'], 'do': 'make install' } let g:clang_library_path='/usr/lib/llvm-4.0/lib/libclang-4.0.so.1' " PHP -Plug 'shawncplus/phpcomplete.vim', { 'for': 'php', 'do': 'curl -Ss http://vim-php.com/phpctags/install/phpctags.phar > ~/bin/phpctags && chmod +x ~/bin/phpctags' } +"Plug 'shawncplus/phpcomplete.vim', { 'for': 'php', 'do': 'curl -Ss http://vim-php.com/phpctags/install/phpctags.phar > ~/bin/phpctags && chmod +x ~/bin/phpctags' } +Plug 'lvht/phpcd.vim', { 'for': 'php', 'do': 'composer install' } " Python Plug 'python-mode/python-mode', { 'for': 'python' } @@ -206,96 +211,108 @@ let g:neocomplete#sources#omni#input_patterns.tex = \ . ')' "}}} -" N E O C O M P L E T E {{{ -"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 neocomplete#undo_completion() -inoremap neocomplete#complete_common_string() - -" Recommended key-mappings. -" : close popup and save indent. -inoremap =my_cr_function() -function! s:my_cr_function() - return (pumvisible() ? "\" : "" ) . "\" - " For no inserting key. - "return pumvisible() ? "\" : "\" -endfunction -" : completion. -inoremap pumvisible() ? "\" : "\" -" , : close popup and delete backword char. -inoremap neocomplete#smart_close_popup()."\" -inoremap neocomplete#smart_close_popup()."\" -" Close popup by . -"inoremap pumvisible() ? "\" : "\" - -" 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 pumvisible() ? "\" : "\\" - -" Enable omni completion. -autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS -autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags -autocmd FileType javascript setlocal omnifunc=tern#Complete -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*::' - -" Plugin key-mappings. -imap (neosnippet_expand_or_jump) -smap (neosnippet_expand_or_jump) -xmap (neosnippet_expand_target) - -" SuperTab like snippets behavior. -"imap -" \ pumvisible() ? "\" : -" \ neosnippet#expandable_or_jumpable() ? -" \ "\(neosnippet_expand_or_jump)" : "\" -smap neosnippet#expandable_or_jumpable() ? - \ "\(neosnippet_expand_or_jump)" : "\" - -" For conceal markers. -if has('conceal') - set conceallevel=2 concealcursor=niv +" Completion {{{ +if !has("nvim") + "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 neocomplete#undo_completion() + inoremap neocomplete#complete_common_string() + + " Recommended key-mappings. + " : close popup and save indent. + inoremap =my_cr_function() + function! s:my_cr_function() + return (pumvisible() ? "\" : "" ) . "\" + " For no inserting key. + "return pumvisible() ? "\" : "\" + endfunction + " : completion. + inoremap pumvisible() ? "\" : "\" + " , : close popup and delete backword char. + inoremap neocomplete#smart_close_popup()."\" + inoremap neocomplete#smart_close_popup()."\" + " Close popup by . + "inoremap pumvisible() ? "\" : "\" + + " 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 pumvisible() ? "\" : "\\" + + " Enable omni completion. + autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS + autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags + autocmd FileType javascript setlocal omnifunc=tern#Complete + 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*::' + + " Plugin key-mappings. + imap (neosnippet_expand_or_jump) + smap (neosnippet_expand_or_jump) + xmap (neosnippet_expand_target) + + " SuperTab like snippets behavior. + "imap + " \ pumvisible() ? "\" : + " \ neosnippet#expandable_or_jumpable() ? + " \ "\(neosnippet_expand_or_jump)" : "\" + smap neosnippet#expandable_or_jumpable() ? + \ "\(neosnippet_expand_or_jump)" : "\" + + " For conceal markers. + if has('conceal') + set conceallevel=2 concealcursor=niv + endif + let g:neosnippet#snippets_directory = '~/.dotfiles/vim/neosnippets' +else + " Use deoplete. + let g:deoplete#enable_at_startup = 1 + + " Use TAB to cycle between matches + inoremap pumvisible() ? "\" : "\" + inoremap pumvisible() ? "\" : "\" + + let g:deoplete#ignore_sources = get(g:, 'deoplete#ignore_sources', {}) + let g:deoplete#ignore_sources.php = ['omni'] endif -let g:neosnippet#snippets_directory = '~/.dotfiles/vim/neosnippets' "}}} set foldmethod=marker"