summaryrefslogtreecommitdiff
path: root/nvim
diff options
context:
space:
mode:
authorAlexander Kiryukhin <a.kiryukhin@mail.ru>2021-08-31 03:26:52 +0300
committerAlexander Kiryukhin <a.kiryukhin@mail.ru>2021-08-31 03:26:52 +0300
commit0e248d1e44d9f41f90a3bbab1bec84bd7dafd5ff (patch)
tree5e97312fe0fae14c9675fca93574d0f5bc357bb1 /nvim
Initial
Diffstat (limited to 'nvim')
-rw-r--r--nvim/coc-settings.json9
-rw-r--r--nvim/init.vim105
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
+
+
+
+