diff options
author | Alexander Kiryukhin <a.kiryukhin@mail.ru> | 2021-08-31 03:26:52 +0300 |
---|---|---|
committer | Alexander Kiryukhin <a.kiryukhin@mail.ru> | 2021-08-31 03:26:52 +0300 |
commit | 0e248d1e44d9f41f90a3bbab1bec84bd7dafd5ff (patch) | |
tree | 5e97312fe0fae14c9675fca93574d0f5bc357bb1 /nvim |
Initial
Diffstat (limited to 'nvim')
-rw-r--r-- | nvim/coc-settings.json | 9 | ||||
-rw-r--r-- | nvim/init.vim | 105 |
2 files changed, 114 insertions, 0 deletions
diff --git a/nvim/coc-settings.json b/nvim/coc-settings.json new file mode 100644 index 0000000..cbac8e1 --- /dev/null +++ b/nvim/coc-settings.json @@ -0,0 +1,9 @@ +{ + "languageserver": { + "golang": { + "command": "gopls", + "rootPatterns": ["go.mod", ".vim/", ".git/", ".hg/"], + "filetypes": ["go"] + } + } +} diff --git a/nvim/init.vim b/nvim/init.vim new file mode 100644 index 0000000..a590715 --- /dev/null +++ b/nvim/init.vim @@ -0,0 +1,105 @@ +call plug#begin('~/.vim/plugged') + +Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } +Plug 'junegunn/fzf.vim' +Plug 'scrooloose/nerdtree' +Plug 'fatih/vim-go' +Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'} + +call plug#end() + +set noeb vb t_vb= +let mapleader = ',' +let g:go_def_mode='gopls' +let g:go_info_mode='gopls' +set colorcolumn=160 + + + +set number relativenumber +set nu rnu +set tabstop=4 +set shiftwidth=0 +set softtabstop=-1 +set expandtab +set autoindent +set cursorline +syntax enable +nnoremap <silent> <cr> :noh<CR><CR> + +" autocmd vimenter * NERDTree + +" ------------------------------------------------------------------------------------------------- +" coc.nvim default settings +" ------------------------------------------------------------------------------------------------- + +" if hidden is not set, TextEdit might fail. +set hidden +" Better display for messages +set cmdheight=2 +" Smaller updatetime for CursorHold & CursorHoldI +set updatetime=300 +" don't give |ins-completion-menu| messages. +set shortmess+=c +" always show signcolumns +set signcolumn=yes + +" Use tab for trigger completion with characters ahead and navigate. +" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin. +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. +inoremap <silent><expr> <c-space> coc#refresh() + +" Use `[c` and `]c` to navigate diagnostics +nmap <silent> [c <Plug>(coc-diagnostic-prev) +nmap <silent> ]c <Plug>(coc-diagnostic-next) + +" Remap keys for gotos +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 U to show documentation in preview window +nnoremap <silent> U :call <SID>show_documentation()<CR> + +" Remap for rename current word +nmap <leader>rn <Plug>(coc-rename) + +" Remap for format selected region +vmap <leader>f <Plug>(coc-format-selected) +nmap <leader>f <Plug>(coc-format-selected) +" Show all diagnostics +nnoremap <silent> <space>u :<C-u>CocList diagnostics<cr> +" Manage extensions +nnoremap <silent> <space>e :<C-u>CocList extensions<cr> +" Show commands +nnoremap <silent> <space>c :<C-u>CocList commands<cr> +" Find symbol of current document +nnoremap <silent> <space>o :<C-u>CocList outline<cr> +" Search workspace symbols +nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr> +" Do default action for next item. +nnoremap <silent> <space>j :<C-u>CocNext<CR> +" Do default action for previous item. +nnoremap <silent> <space>k :<C-u>CocPrev<CR> +" Resume latest coc list +nnoremap <silent> <space>p :<C-u>CocListResume<CR> + +" disable vim-go :GoDef short cut (gd) +" this is handled by LanguageClient [LC] +let g:go_def_mapping_enabled = 0 + + + + |