diff options
Diffstat (limited to '.config')
-rw-r--r-- | .config/nvim/init.vim | 239 |
1 files changed, 0 insertions, 239 deletions
diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 9eb9082..0ae0bf0 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -1,67 +1,13 @@ call plug#begin('~/.local/share/nvim/plugged') -" find a better plugin to do this -" which works with tsx and -" doesn't interfere with coc-pairs -" Plug 'alvan/vim-closetag' - " basic Plug 'itchyny/lightline.vim' Plug 'Yggdroot/indentLine' " Plug 'romgrk/doom-one.vim' Plug 'MikunoNaka/doom-one.vim' -Plug 'neoclide/coc.nvim', {'branch': 'release'} - -" web dev -Plug 'rrethy/vim-hexokinase', { 'do': 'make hexokinase' } -Plug 'nikvdp/ejs-syntax' -Plug 'maxmellon/vim-jsx-pretty' -Plug 'leafgarland/typescript-vim' -Plug 'yuezk/vim-js' - -" other dev -Plug 'elixir-editors/vim-elixir' - -" Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(0) } } -" Plug 'vim-airline/vim-airline' -" Plug 'dracula/vim', { 'as': 'dracula' } -" Plug 'sts10/vim-pink-moon' -Plug 'alvan/vim-closetag' call plug#end() -" for ejs -au BufNewFile,BufRead *.ejs set filetype=html - -" closetag config -" filenames like *.xml, *.html, *.xhtml, ... -" These are the file extensions where this plugin is enabled. -let g:closetag_filenames = '*.html,*.xhtml,*.phtml' -" filenames like *.xml, *.xhtml, ... -" This will make the list of non-closing tags self-closing in the specified files. -let g:closetag_xhtml_filenames = '*.xhtml,*.jsx' -" filetypes like xml, html, xhtml, ... -" These are the file types where this plugin is enabled. -let g:closetag_filetypes = 'html,xhtml,phtml' -" filetypes like xml, xhtml, ... -" This will make the list of non-closing tags self-closing in the specified files. -let g:closetag_xhtml_filetypes = 'xhtml,jsx' -" integer value [0|1] -" This will make the list of non-closing tags case-sensitive (e.g. `<Link>` will be closed while `<link>` won't.) -let g:closetag_emptyTags_caseSensitive = 1 -" dict -" Disables auto-close if not in a "valid" region (based on filetype) -let g:closetag_regions = { - \ 'typescript.tsx': 'jsxRegion,tsxRegion', - \ 'javascript.jsx': 'jsxRegion', - \ 'typescriptreact': 'jsxRegion,tsxRegion', - \ 'javascriptreact': 'jsxRegion', - \ } -" Shortcut for closing tags, default is '>' -let g:closetag_shortcut = '>' -" Add > at current position without closing the current tag, default is '' -let g:closetag_close_shortcut = '' -" closetag config end " line numbers set number @@ -81,12 +27,7 @@ let g:lightline = { \ 'colorscheme': 'darcula' \ } -" hexokinase config -let g:Hexokinase_highlighters = ['virtual'] -" jsx-pretty config -let g:vim_jsx_pretty_highlight_close_tag = 1 -let g:vim_jsx_pretty_colorful_config = 1 " for tab stop filetype plugin indent on @@ -98,9 +39,6 @@ set softtabstop=2 " when indenting with '>', use 2 spaces width set shiftwidth=2 -" map leader to Space -let mapleader = " " - " mouse support for visual, etc set mouse=a @@ -120,180 +58,3 @@ nnoremap <leader>p "+p nnoremap <leader>P "+P vnoremap <leader>p "+p vnoremap <leader>P "+P - -" coc config -let g:coc_global_extentions = [ - \ 'coc-snippets', - \ 'coc-pairs', - \ 'coc-eslint', - \ 'coc-prettier', - \ 'coc-go', - \ 'coc-json', - \ 'coc-tsserver', - \ 'coc-css', - \ 'coc-html', - \ 'coc-omnisharp', - \ ] -set encoding=utf-8 - -" TextEdit might fail if hidden is not set. -set hidden - -" Some servers have issues with backup files, see #649. -set nobackup -set nowritebackup - -" Give more space for displaying messages. -set cmdheight=2 - -" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable -" delays and poor user experience. -set updatetime=300 - -" Don't pass messages to |ins-completion-menu|. -set shortmess+=c - -" Always show the signcolumn, otherwise it would shift the text each time -" diagnostics appear/become resolved. -if has("nvim-0.5.0") || has("patch-8.1.1564") - " Recently vim can merge signcolumn and number column into one - set signcolumn=number -else - set signcolumn=yes -endif - -" 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-space> to trigger completion. -if has('nvim') - inoremap <silent><expr> <c-space> coc#refresh() -else - inoremap <silent><expr> <c-@> coc#refresh() -endif - -" Make <CR> auto-select the first completion item and notify coc.nvim to -" format on enter, <cr> could be remapped by other vim plugin -inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm() - \: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>" - -" Use `[g` and `]g` to navigate diagnostics -" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. -nmap <silent> [g <Plug>(coc-diagnostic-prev) -nmap <silent> ]g <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 K to show documentation in preview window. -nnoremap <silent> K :call <SID>show_documentation()<CR> - -function! s:show_documentation() - if (index(['vim','help'], &filetype) >= 0) - execute 'h '.expand('<cword>') - elseif (coc#rpc#ready()) - call CocActionAsync('doHover') - else - execute '!' . &keywordprg . " " . expand('<cword>') - 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 - -" Applying codeAction to the selected region. -" Example: `<leader>aap` for current paragraph -xmap <leader>a <Plug>(coc-codeaction-selected) -nmap <leader>a <Plug>(coc-codeaction-selected) - -" 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) - -" Remap <C-f> and <C-b> for scroll float windows/popups. -if has('nvim-0.4.0') || has('patch-8.2.0750') - nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>" - nnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" - inoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>" - inoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>" - vnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>" - vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" -endif - -" 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> |