diff options
| -rw-r--r-- | init.vim | 143 |
1 files changed, 1 insertions, 142 deletions
@@ -145,8 +145,6 @@ Plug 'junegunn/fzf.vim' " Undo Tree Plug 'mbbill/undotree' -" COC -Plug 'neoclide/coc.nvim', {'branch': 'release'} call plug#end() set re=0 @@ -270,146 +268,7 @@ endfunc -" === -" === coc.nvim -" === -let g:coc_global_extensions = [ - \ 'coc-json', - \ 'coc-vimlsp', - \ 'coc-jedi'] - -" TextEdit might fail if hidden is not set. -set hidden - -" Some servers have issues with backup files, see #649. -set nobackup -set nowritebackup - -" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable -" delays and poor user experience. -set updatetime=100 - -" Don't pass messages to |ins-completion-menu|. -set shortmess+=c - -" Use tab for trigger completion with characters ahead and navigate. -" NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by -" other plugin before putting this into your config. -inoremap <silent><expr> <TAB> - \ pumvisible() ? "\<C-n>" : - \ <SID>check_back_space() ? "\<TAB>" : - \ coc#refresh() -inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" - -function! s:check_back_space() abort - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~# '\s' -endfunction - -" Use <c-o> to trigger completion. -inoremap <silent><expr> <c-o> coc#refresh() - -" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current -" position. Coc only does snippet and additional edit on confirm. -" <cr> could be remapped by other vim plugin, try `:verbose imap <CR>`. -inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>" -nmap <silent> <LEADER>- <Plug>(coc-diagnostic-prev) -nmap <silent> <LEADER>= <Plug>(coc-diagnostic-next) - -" GoTo code navigation. -nmap <silent> gd <Plug>(coc-definition) -nmap <silent> gy <Plug>(coc-type-definition) -nmap <silent> gi <Plug>(coc-implementation) -nmap <silent> gr <Plug>(coc-references) - -" Use <LEADER>h to show documentation in preview window. -nnoremap <silent> <LEADER>h :call <SID>show_documentation()<CR> - -function! s:show_documentation() - if (index(['vim','help'], &filetype) >= 0) - execute 'h '.expand('<cword>') - else - call CocActionAsync('doHover') - endif -endfunction - -" Highlight the symbol and its references when holding the cursor. -autocmd CursorHold * silent call CocActionAsync('highlight') - -" Symbol renaming. -nmap <leader>rn <Plug>(coc-rename) - -" Formatting selected code. -xmap <leader>f <Plug>(coc-format-selected) -nmap <leader>f <Plug>(coc-format-selected) - -augroup mygroup - autocmd! - " Setup formatexpr specified filetype(s). - autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') - " Update signature help on jump placeholder. - autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') -augroup end - -" Remap for do codeAction of selected region -function! s:cocActionsOpenFromSelected(type) abort - execute 'CocCommand actions.open ' . a:type -endfunction -xmap <silent> <leader>a :<C-u>execute 'CocCommand actions.open ' . visualmode()<CR> -nmap <silent> <leader>a :<C-u>set operatorfunc=<SID>cocActionsOpenFromSelected<CR>g@ - -" Remap keys for applying codeAction to the current buffer. -nmap <leader>ac <Plug>(coc-codeaction) -" Apply AutoFix to problem on the current line. -nmap <leader>qf <Plug>(coc-fix-current) - -" Map function and class text objects -" NOTE: Requires 'textDocument.documentSymbol' support from the language server. -xmap if <Plug>(coc-funcobj-i) -omap if <Plug>(coc-funcobj-i) -xmap af <Plug>(coc-funcobj-a) -omap af <Plug>(coc-funcobj-a) -xmap ic <Plug>(coc-classobj-i) -omap ic <Plug>(coc-classobj-i) -xmap ac <Plug>(coc-classobj-a) -omap ac <Plug>(coc-classobj-a) - -" Use CTRL-S for selections ranges. -" Requires 'textDocument/selectionRange' support of language server. -nmap <silent> <C-s> <Plug>(coc-range-select) -xmap <silent> <C-s> <Plug>(coc-range-select) - -" Add `:Format` command to format current buffer. -command! -nargs=0 Format :call CocAction('format') - -" Add `:Fold` command to fold current buffer. -command! -nargs=? Fold :call CocAction('fold', <f-args>) - -" Add `:OR` command for organize imports of the current buffer. -command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') - -" Add (Neo)Vim's native statusline support. -" NOTE: Please see `:h coc-status` for integrations with external plugins that -" provide custom statusline: lightline.vim, vim-airline. -set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} - -" Mappings for CoCList -" Show all diagnostics. -nnoremap <silent><nowait> <space>a :<C-u>CocList diagnostics<cr> -" Manage extensions. -nnoremap <silent><nowait> <space>e :<C-u>CocList extensions<cr> -" Show commands. -nnoremap <silent><nowait> <space>c :<C-u>CocList commands<cr> -" Find symbol of current document. -nnoremap <silent><nowait> <space>o :<C-u>CocList outline<cr> -" Search workspace symbols. -nnoremap <silent><nowait> <space>s :<C-u>CocList -I symbols<cr> -" Do default action for next item. -nnoremap <silent><nowait> <space>j :<C-u>CocNext<CR> -" Do default action for previous item. -nnoremap <silent><nowait> <space>k :<C-u>CocPrev<CR> -" Resume latest coc list. -nnoremap <silent><nowait> <space>p :<C-u>CocListResume<CR> + " ===================== End of Plugin Settings ===================== |
