Created
February 9, 2016 01:13
-
-
Save dobegor/60875d1000fc6950829f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| call plug#begin() | |
| Plug 'zchee/deoplete-go', { 'do': 'make'} | |
| Plug 'Shougo/deoplete.nvim' | |
| Plug 'fatih/vim-go' | |
| Plug 'scrooloose/nerdtree' | |
| Plug 'majutsushi/tagbar' | |
| Plug 'jiangmiao/auto-pairs' | |
| Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } | |
| call plug#end() | |
| set completeopt+=noinsert,menuone,longest,noselect | |
| let g:deoplete#enable_at_startup = 1 | |
| let g:deoplete#ignore_sources = {} | |
| let g:deoplete#ignore_sources._ = ['buffer', 'member', 'tag', 'file', 'neosnippet'] | |
| let g:deoplete#sources#go#sort_class = ['func', 'type', 'var', 'const'] | |
| " Use partial fuzzy matches like YouCompleteMe | |
| call deoplete#custom#set('_', 'matchers', ['matcher_full_fuzzy']) | |
| let g:deoplete#sources#go#align_class = 1 | |
| inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR> | |
| function! s:my_cr_function() abort | |
| return deoplete#mappings#close_popup() . "\<CR>" | |
| endfunction | |
| set number | |
| syntax enable | |
| colorscheme kalisi | |
| nmap <silent> <A-Up> :wincmd k<CR> | |
| nmap <silent> <A-Down> :wincmd j<CR> | |
| nmap <silent> <A-Left> :wincmd h<CR> | |
| nmap <silent> <A-Right> :wincmd l<CR> | |
| " size of a hard tabstop | |
| set tabstop=4 | |
| " size of an "indent" | |
| set shiftwidth=4 | |
| " a combination of spaces and tabs are used to simulate tab stops at a width | |
| " other than the (hard)tabstop | |
| set softtabstop=4 | |
| "------------------------------------------------------------------------------ | |
| " NERDTree | |
| "------------------------------------------------------------------------------ | |
| " General properties | |
| let NERDTreeDirArrows=1 | |
| let NERDTreeMinimalUI=1 | |
| let NERDTreeIgnore=['\.o$', '\.pyc$', '\.php\~$'] | |
| let NERDTreeWinSize = 35 | |
| " Make sure that when NT root is changed, Vim's pwd is also updated | |
| let NERDTreeChDirMode = 2 | |
| let NERDTreeShowLineNumbers = 1 | |
| let NERDTreeAutoCenter = 1 | |
| " Locate file in hierarchy quickly | |
| map <leader>T :NERDTreeFind<cr> | |
| " Toogle on/off | |
| nmap <leader>o :NERDTreeToggle<cr> | |
| nmap <F8> :TagbarToggle<CR> | |
| let g:tagbar_type_go = { | |
| \ 'ctagstype' : 'go', | |
| \ 'kinds' : [ | |
| \ 'p:package', | |
| \ 'i:imports:1', | |
| \ 'c:constants', | |
| \ 'v:variables', | |
| \ 't:types', | |
| \ 'n:interfaces', | |
| \ 'w:fields', | |
| \ 'e:embedded', | |
| \ 'm:methods', | |
| \ 'r:constructor', | |
| \ 'f:functions' | |
| \ ], | |
| \ 'sro' : '.', | |
| \ 'kind2scope' : { | |
| \ 't' : 'ctype', | |
| \ 'n' : 'ntype' | |
| \ }, | |
| \ 'scope2kind' : { | |
| \ 'ctype' : 't', | |
| \ 'ntype' : 'n' | |
| \ }, | |
| \ 'ctagsbin' : 'gotags', | |
| \ 'ctagsargs' : '-sort -silent' | |
| \ } | |
| "------------------------------------------------------------------------------ | |
| " Vim-go | |
| "------------------------------------------------------------------------------ | |
| let g:go_fmt_fail_silently = 1 | |
| let g:go_fmt_command = "gofmt" "Explicited the formater plugin (gofmt, goimports, goreturn...) | |
| " Show a list of interfaces which is implemented by the type under your cursor | |
| au FileType go nmap <Leader>s <Plug>(go-implements) | |
| " Show type info for the word under your cursor | |
| au FileType go nmap <Leader>i <Plug>(go-info) | |
| " Open the relevant Godoc for the word under the cursor | |
| au FileType go nmap <Leader>gd <Plug>(go-doc) | |
| au FileType go nmap <Leader>gv <Plug>(go-doc-vertical) | |
| " Open the Godoc in browser | |
| au FileType go nmap <Leader>gb <Plug>(go-doc-browser) | |
| " Run/build/test/coverage/definiton | |
| au FileType go nmap <leader>r <Plug>(go-run) | |
| au FileType go nmap <leader>b <Plug>(go-build) | |
| au FileType go nmap <leader>t <Plug>(go-test) | |
| au FileType go nmap <leader>c <Plug>(go-coverage) | |
| au FileType go nmap <leader>d <Plug>(go-def-tab) | |
| nmap <leader>T :tabnew term://$SHELL <CR> | |
| inoremap <C-o> <c-o>:update<cr> | |
| nmap <C-o> :update<cr> | |
| "set completeopt+=noinsert | |
| let g:go_highlight_functions = 1 | |
| let g:go_highlight_methods = 1 | |
| let g:go_highlight_structs = 1 | |
| let g:go_highlight_interfaces = 1 | |
| let g:go_highlight_operators = 1 | |
| let g:go_highlight_build_constraints = 1 | |
| let g:go_fmt_command = "goimports" | |
| let g:go_term_enabled = 0 | |
| "This unsets the "last search pattern" register by hitting return | |
| nnoremap <CR> :noh<CR><CR> | |
| nnoremap <C-Left> :tabprevious<CR> | |
| nnoremap <C-Right> :tabnext<CR> | |
| nnoremap <C-w> :tabclose<CR> | |
| tnoremap <Esc> <C-\><C-n> | |
| set ignorecase | |
| autocmd VimEnter * NERDTree |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment