2020-09-30 00:50:25 +00:00
|
|
|
" ===================================================================================
|
|
|
|
" === VUNDLE SETTINGS ===============================================================
|
|
|
|
" ===================================================================================
|
|
|
|
set nocompatible
|
|
|
|
filetype off
|
2019-09-26 16:46:38 +00:00
|
|
|
|
|
|
|
set rtp+=~/.vim/bundle/Vundle.vim
|
|
|
|
call vundle#begin()
|
|
|
|
|
|
|
|
Plugin 'VundleVim/Vundle.vim'
|
|
|
|
" <======================================================>
|
|
|
|
" <==== Insert plugins here =============================>
|
2020-09-30 00:50:25 +00:00
|
|
|
|
2019-09-26 16:46:38 +00:00
|
|
|
" tpope/surround
|
|
|
|
Plugin 'tpope/vim-surround'
|
2020-10-09 22:55:04 +00:00
|
|
|
|
2019-09-26 16:46:38 +00:00
|
|
|
" nerdtree
|
|
|
|
Plugin 'git://github.com/scrooloose/nerdtree.git'
|
2020-10-09 22:55:04 +00:00
|
|
|
|
2021-08-23 22:36:56 +00:00
|
|
|
" go-vim
|
|
|
|
Plugin 'fatih/vim-go'
|
|
|
|
|
2019-09-26 16:46:38 +00:00
|
|
|
" youCompleteMe
|
|
|
|
Plugin 'git://github.com/Valloric/YouCompleteMe.git'
|
2020-10-09 22:55:04 +00:00
|
|
|
|
2019-09-26 16:46:38 +00:00
|
|
|
" omnisharp (c#)
|
|
|
|
Plugin 'OmniSharp/omnisharp-vim'
|
2020-10-09 22:55:04 +00:00
|
|
|
|
2019-09-26 17:04:25 +00:00
|
|
|
" ale -- asynchronus error checking
|
|
|
|
Plugin 'https://github.com/w0rp/ale'
|
2019-09-26 16:46:38 +00:00
|
|
|
|
2020-10-09 22:55:04 +00:00
|
|
|
" <======================================================>
|
2019-09-26 16:46:38 +00:00
|
|
|
" <======================================================>
|
2020-09-30 00:50:25 +00:00
|
|
|
call vundle#end()
|
|
|
|
filetype plugin indent on
|
2019-09-26 16:46:38 +00:00
|
|
|
" To ignore plugin indent changes, instead use:
|
2020-09-30 00:50:25 +00:00
|
|
|
" filetype plugin on
|
|
|
|
|
2019-09-26 16:46:38 +00:00
|
|
|
" :PluginList - lists configured plugins
|
|
|
|
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
|
|
|
|
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
|
|
|
|
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
|
2020-09-30 00:50:25 +00:00
|
|
|
|
2019-09-26 16:46:38 +00:00
|
|
|
" see :h vundle for more details or wiki for FAQ
|
|
|
|
|
2020-10-09 22:55:04 +00:00
|
|
|
|
2019-09-26 16:46:38 +00:00
|
|
|
" ===================================================================================
|
2020-09-30 00:50:25 +00:00
|
|
|
" === PLUGIN-SPECIFIC SETTINGS ======================================================
|
2019-09-26 16:46:38 +00:00
|
|
|
" ===================================================================================
|
|
|
|
|
2020-10-09 22:55:04 +00:00
|
|
|
" --- Nerd Tree ---------------------------------------------------------------------
|
2020-10-05 16:49:03 +00:00
|
|
|
map <C-o> :NERDTreeToggle %<CR>
|
2019-09-26 16:46:38 +00:00
|
|
|
let g:NERDTreeNodeDelimiter = "\u00a0" " -- Was seeing ^G character, and this should fix that
|
|
|
|
|
2020-10-09 22:55:04 +00:00
|
|
|
|
|
|
|
" --- YouCompleteMe -----------------------------------------------------------------
|
2019-09-26 16:46:38 +00:00
|
|
|
function! ToggleYCM()
|
|
|
|
if g:ycm_auto_trigger
|
|
|
|
let g:ycm_auto_trigger = 0
|
|
|
|
echohl DiffDelete | echo "YouCompleteMe autocompletion disabled" | echohl None
|
|
|
|
else
|
|
|
|
let g:ycm_auto_trigger = 1
|
|
|
|
echohl DiffAdd | echo "YouCompleteMe autocompletion enabled" | echohl None
|
|
|
|
endif
|
|
|
|
endfunction
|
2020-09-30 00:50:25 +00:00
|
|
|
|
2021-08-23 22:36:56 +00:00
|
|
|
" uncomment to deactivate by default
|
|
|
|
" let g:ycm_auto_trigger=0
|
|
|
|
let g:ycm_autoclose_preview_window_after_insertion = 1
|
2020-09-30 00:50:25 +00:00
|
|
|
let g:ycm_goto_buffer_command = 'new-tab'
|
|
|
|
|
2020-10-09 22:55:04 +00:00
|
|
|
nnoremap <S-y> :call ToggleYCM()<CR>
|
2020-09-30 00:50:25 +00:00
|
|
|
nnoremap gd :YcmCompleter GoToDefinition<CR>
|
2020-10-09 22:55:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
" --- ALE ---------------------------------------------------------------------------
|
2019-09-26 16:46:38 +00:00
|
|
|
let g:ale_linters = {
|
2020-04-02 18:39:40 +00:00
|
|
|
\ 'cs' : ['OmniSharp'],
|
2021-08-23 22:36:56 +00:00
|
|
|
\ 'python' : ['pylint'],
|
|
|
|
\ 'go' : ['golint']
|
2019-09-26 16:46:38 +00:00
|
|
|
\}
|
2021-08-23 22:36:56 +00:00
|
|
|
let g:ale_lint_on_text_changed = 0
|
|
|
|
let g:ale_lint_on_insert_leave = 0
|
|
|
|
let g:ale_lint_on_save = 1
|
|
|
|
let g:ale_sign_column_always = 1
|
|
|
|
|
|
|
|
nmap <Leader>ae <Plug>(ale_next)
|
|
|
|
nmap <Leader>ar <Plug>(ale_previous)
|
|
|
|
|
|
|
|
" --- vim-go ------------------------------------------------------------------------
|
|
|
|
let g:go_imports_autosave = 0
|
|
|
|
let g:go_def_mapping_enabled = 0
|
|
|
|
let g:go_fmt_fail_silently = 1
|
|
|
|
let g:go_def_reuse_buffer = 1
|
|
|
|
let g:go_textobj_enabled = 0
|