165 lines
4.2 KiB
VimL
165 lines
4.2 KiB
VimL
|
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 <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-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' " <theme> 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:▓
|
||
|
|