call plug#begin('~/.vim/plugged') Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' } " Amazing combination of features. "Plug 'godoctor/godoctor.vim' " Some refactoring tools Plug 'plytophogy/vim-virtualenv' "Plug 'terryma/vim-multiple-cursors' Plug 'airblade/vim-rooter' Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' Plug 'majutsushi/tagbar' " install exuberant-ctags Plug 'tpope/vim-commentary' Plug 'SirVer/ultisnips' Plug 'neomake/neomake' "Plug 'godlygeek/tabular' Plug 'lepture/vim-jinja' Plug 'b4b4r07/vim-hcl' Plug 'hashivim/vim-packer' Plug 'hashivim/vim-terraform' Plug 'scrooloose/nerdtree' Plug 'PotatoesMaster/i3-vim-syntax' "Plug 'tpope/vim-surround' "Plugin 'jiangmiao/auto-pairs' "Plug 'elzr/vim-json' if !has('nvim') " Plugins for when you're not using neovim endif if has('nvim') Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } Plug 'zchee/deoplete-go', {'build': {'unix': 'make'}} "Plug 'jodosha/vim-godebug' " Debugger integration via delve endif " All of your Plugs must be added before the following line call plug#end() """"""""""""""""" " Plugin Config " """"""""""""""""" """ deoplete if has('nvim') " Enable deoplete on startup let g:deoplete#enable_at_startup = 1 call deoplete#custom#option('omni_patterns', { 'go': '[^. *\t]\.\w*' }) "call deoplete#custom#option('prev_completion_mode', 'mirror') " Disable deoplete when in multi cursor mode "function! Multiple_cursors_before() " let b:deoplete_disable_auto_complete = 1 "endfunction "function! Multiple_cursors_after() " let b:deoplete_disable_auto_complete = 0 "endfunction endif """ tagbar nmap :TagbarToggle 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-rooter " let g:rooter_use_lcd = 1 let g:rooter_cd_cmd="lcd" let g:rooter_silent_chdir = 1 let g:rooter_resolve_links = 1 """ vim-terraform let g:terraform_fmt_on_save=1 "autocmd filetype tf set syntax=terraform autocmd FileType terraform setlocal commentstring=#%s """ vim-jinja autocmd BufNewFile,BufRead *.j2 set filetype=jinja """ vim-go let g:go_highlight_types = 1 let g:go_term_enabled = 1 let g:go_fmt_command = "goimports" let g:go_def_mode='gopls' let g:go_info_mode='gopls' """ neomake " Full config: when writing or reading a buffer, and on changes in insert and " normal mode (after 1s; no delay when writing). call neomake#configure#automake('nrwi', 500) """ airline let g:airline_theme='powerlineish' " is a valid theme name let g:airline_powerline_fonts = 1 " powerline symbols let g:airline_left_sep = '' let g:airline_left_alt_sep = '' let g:airline_right_sep = '' let g:airline_right_alt_sep = '' let g:airline_symbols = {} let g:airline_symbols.branch = '' let g:airline_symbols.readonly = '' let g:airline_symbols.linenr = '☰' let g:airline_symbols.maxlinenr = '' let g:airline_symbols.dirty='⚡' """"""""""""""""""""" " Personal Settings " """"""""""""""""""""" set number colorscheme Czar hi Normal guibg=NONE ctermbg=NONE command! W w !sudo tee >/dev/null % set backupdir=~/.vim/tmp/backup// set directory=~/.vim/tmp/swap// set undodir=~/.vim/tmp/undo// set completeopt-=preview set colorcolumn=80 autocmd Filetype java setlocal colorcolumn=100 autocmd Filetype html setlocal colorcolumn=100 autocmd Filetype go setlocal colorcolumn=100 autocmd Filetype netrw setlocal colorcolumn= set tabstop=2 set shiftwidth=2 set noexpandtab autocmd FileType python setlocal expandtab autocmd FileType python setlocal tabstop=4 autocmd FileType python setlocal shiftwidth=4 autocmd filetype json setlocal expandtab autocmd filetype tf setlocal expandtab "set list lcs=tab:\┆\ ,trail:▓,space:. "set list lcs=tab:\⇥\ ,trail:▓,space:. set list lcs=tab:\⇥\ ,trail:▓